我希望我的代码等待,直到下面的演示中正确定义了一些变量x:
var x;
call_some_async_function(arg, success_callback);
wait(function () { return x == null || x == undefined; }); // until the `success_callback()` is called
显然,Javascript / Typescript中没有wait()
函数。但是,处理承诺的对象有await
和async
关键字。
来自C ++ / Java背景,我想知道我们是否可以以合理的方式实现wait()
功能以实现非关键性能。
wait (Continue: () => boolean)
{
setTimeout(function()
{
if(Continue())
wait(Continue);
},
10 /* milliseconds */);
}
问题:
wait()
的正确方法吗? (这也是一个不好的递归)。对于非关键的基于浏览器的系统,请假设它。