【发布时间】:2018-04-10 18:08:52
【问题描述】:
我正在尝试将我的一些代码转换为 Promise,但我不知道如何在 Promise 中链接新的 Promise。
我的 promise 函数应该每隔一秒左右检查一次数组的内容,如果里面有任何项目应该解析。否则它应该等待 1s 并再次检查,依此类推。
function get(){
return new Promise((resolve) => {
if(c.length > 0){
resolve(c.shift());
}else{
setTimeout(get.bind(this), 1000);
}
});
}
let c = [];
setTimeout(function(){
c.push('test');
}, 2000);
这就是我希望我的 get() 承诺函数工作的方式,它应该在最多 2 或 3 秒后打印“test”:
get().then((value) => {
console.log(value);
});
显然它不起作用,什么都没有打印出来
【问题讨论】:
标签: javascript node.js promise