2017-04-23 6 views
0

一部のタイプスクリプトの学習。 コード作業のこのビットをしよう:可変スコープの操作方法は?

... 
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'オブジェクトからグローバルスコープに抽出するにはどうすればよいですか?

+0

これはTypeScriptとは関係がありません。 –

答えて

0

利用window代わりのthis

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

はtypescriptですについてはあまり知らないが、私はそれではなく、グローバルwindowオブジェクトをデフォルトで定義されていないthisstrict modeを、使っていることを推測している場合ではありませんクラスインスタンスのコンテキストで使用されます。

+0

byこれは、変数と関数のトップレベル宣言を前提としています。グローバルスコープで作業していない場合は、 'window.'を省略して、あなたが入っている範囲を囲むものを参照します。 –