我想了解如何编写自己的异步函数。
那么我怎样才能用大量元素async填充数组并立即看到'finish'行,而不是等待填充完成?
这是我尝试实现 Promise 和回调但没有成功的示例。
let arr = [];
populateAsync(arr);
console.log('finish');
function populateAsync(arr) {
// somehow populate arr async till it reaches
// 100000000 elements (big enough to make a delay)
}
最佳答案
您可以使用 Promise 对象或只使用 setTimeout()
let arr = [];
populateAsync(arr);
console.log('finish');
function populateAsync(arr) {
setTimeout(function(){
//do something
},0)
}
有 promise
let arr = [];
populateAsync(arr).then(function(){//do something with arr
});
console.log('finish');
function populateAsync(arr) {
return new Promise(function(resolve, reject){
//do something
resolve(arr); //resolve with value
});
}
关于javascript异步填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40854946/