我想知道是否有一种方法可以让我等待一个函数,它具有类似于这样的结构:
function foo(){
//do stuff
settimeout(()=>{
//do more stuff
},timeout)
// do even more stuff
}
我尝试使用utils.promisify
,但它倾向于不等setTimeout
完成后再继续执行“then”回调函数。
下面是一个例子:
const promise=promisify(foo);
promise().then(alert("ok"));
警报似乎在settimeout执行完毕之前触发。
我认为您应该尝试使用Promise构造函数并解析或拒绝
let a = new Promise( function(resolve, reject) { setTimeout(
function() {
resolve("whatever");
}, timeout});
a.then(alert("ok"));