2017-12-11 7 views
0

私はこのようなAPIを作りたい:同期機能の中で 'await'を使用するには?

class jsonReader { 
    public async load() 
    { 
    // some code 
    } 
} 

let reader = new jsonReader(); 

function foo(){ 
    await reader.load(); 
    // [ts] 'await' expression is only allowed within an async function. 
} 

はどのようにして、同期関数呼び出しの内部で非同期/待つを使用することができますか?

答えて

4

また、その関数を非同期にしてawaitを使用するか、返された関数の約束を使用します。 asyncとマークされたすべての機能は、Promise<T>を返します。 コードの返品タイプがPromise<void>の場合、thenをチェーンすることができます。

function foo(){ 
    reader.load().then(() => /*your code here*/); 
} 
関連する問題