doA(function(){
doB();
doC(function() {
doD();
})
doE();
});
doF();
執行令
doA() -> doF() -> doB() -> doC() -> doE() -> doD()
我不明白為什么執行順序如上...:(
uj5u.com熱心網友回復:
函式的執行順序取決于 doA 和 doC 如何呼叫它們各自的回呼
同步
function doA(cb) { console.log('doA'); cb(); }
function doB() { console.log('doB'); }
function doC(cb) { console.log('doC'); cb(); }
function doD() { console.log('doD'); }
function doE() { console.log('doE'); }
function doF(cb) { console.log('doF');}
doA(function(){
doB();
doC(function() {
doD();
})
doE();
});
doF();
或異步
function doA(cb) { console.log('doA'); setTimeout(cb); }
function doB() { console.log('doB'); }
function doC(cb) { console.log('doC'); setTimeout(cb); }
function doD() { console.log('doD'); }
function doE() { console.log('doE'); }
function doF(cb) { console.log('doF');}
doA(function(){
doB();
doC(function() {
doD();
})
doE();
});
doF();
uj5u.com熱心網友回復:
我想也許你需要看這個視頻。
https://www.youtube.com/watch?v=8aGhZQkoFbQ
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/368417.html
標籤:javascript
上一篇:將物件轉換為物件陣列
