这是我的异步JavaScript实践
processArray();
async function processArray() {
for (const item of Myarray) {
await delayedlog(item);
}
}
function delayedlog(i) {
setTimeout(() => {
console.log(i);
}, i * 5000);
}
var Myarray = [1,2,3]
但是在使用firebase时我们不会使用set time out,
如何等待读操作完成然后继续下一个功能
如果你问如何使await delayedlog(item)
等待实际方法,你将不得不从delayedlog
返回一个承诺。你可以这样做:
function delayedlog(i) {
return new Promise(function(resolve, reject) {
setTimeout(() => {
console.log(i);
resolve();
}, i * 5000);
});
}
你的调用代码中的await
然后等待直到Promise
被解析。