JS异步/等待查询

时间:2018-12-07 15:39:06

标签: javascript async-await

我正在使用api进行异步上传,但是api不使用promise,因此我无法轻松地对其进行等待。该API会改为调用onComplete回调。

我的函数看起来像这样:

let barStatus = "not started";

fun doAsyncBar() {
  barStatus = "loading";
  // do something async 
}

fun onBarFinished() {
  barStatus = "finished";
}

async isBarFinished() {
  while(barStatus != "finished") {
    await sleep(10)
  }
  return true;
}

async foo() {
  const bar = doAsyncBar();

  const barFinished = await isBarFinished();

  // do something else 
}

我当前的代码有效,但是我很好奇这种情况下的最佳实践。谢谢!

0 个答案:

没有答案