我正在使用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
}
我当前的代码有效,但是我很好奇这种情况下的最佳实践。谢谢!