如何操作变量作用域?

How to manipulate variable scope?

学习一些 TypeScript。 尝试让这段代码工作:

...
ocrText: string;
...
foo() {
    Tesseract.recognize(<Tesseract.ImageLike>document.getElementById('image'))
       .then(function(result) {
            console.log(result);
            this.ocrText = result.text;
       });
}

出现此错误:Uncaught TypeError: Cannot set property 'ocrText' of undefined

控制台日志确实显示了对象属性和值。

如何将 'text' 属性 的局部值从 'result' 对象提取到全局范围?

使用window代替this

var Text = '';
(()=> fetch('www.example.com')
 .then(response => response.text())
 .then(text => window.Text=text))();

不太了解打字稿,但我猜它正在使用 strict mode,其中 this 未定义,而不是默认为全局 window 对象,如果没有在 class 实例的上下文中使用。