网上看到的也都是fs的异步读取等,刷了好久的网页也没有找到自己想要的。 比如我,我这边两个函数,f1(xxxx)和f2(xxxx)。f1函数需要一段时间才能够执行完毕,我如何写代码,才能够让f1去开始执行的时候就去执行f2,f2不被f1阻塞呢?不明白! 我以为这样写就可以了
yibu(100000, function(originData) {
console.log("f1执行的结果...." + originData);
});
console.log("这里开始执行f2");
function yibu(num, callback) {
for(var i = 0; i < num; i++) {
console.log(i);
}
callback("OK");
}
可是不行,,, “console.log(“这里开始执行f2”);“代码是在for循环之后执行的: (
11 回复
我找到办法了,可以这样做:
setTimeout(function() {
for(var i = 0; i < num; i++) {
console.log(i);
}
callback("OK");
}, 0);
@immatt2015说的对,for循环阻塞主线程了,可以用setTimeout来异步执行