如何在同步功能中使用'await'?

时间:2017-12-11 15:09:58

标签: typescript

我想制作一个这样的API:

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.
}

如何在同步函数调用中使用Async / Await?

1 个答案:

答案 0 :(得分:4)

您也可以使该函数异步并使用await或使用返回函数中的promise。标有async的所有功能都会返回Promise<T>。在您的共享代码中,返回类型为Promise<void>,您可以将then链接到它。

function foo(){
  reader.load().then(() => /*your code here*/);
}