function start_flow(){start_project();start_config();...}function start_project(){...}function start_config(){ ...} 函數中有ajax異步請求 所以 沒有辦法使得前一個函數執行完后 后一個在執行 現在的問題是start_project()還沒有執行完成就開始執行start_config()了,這樣會出錯,想達到的效果是start_project()執行完成再start_config(),請問要如何做? 有兩個可行的方法 一 為 settimeout 創立時間差(肯定可行) 二為 確定一個返回值 true 判斷返回值 是否執行成功(這個沒有試驗過 感覺可能不太可行) 我想請問的是 有沒有效率高一點的 更好的方法?
3 回答

牧羊人nacy
TA貢獻1862條經驗 獲得超7個贊
1、直接在 start_project 函數中執行start_config
1234567891011121314151617 | function start_flow() { start_project(); //start_config(); ... } function start_project() { ... start_config(); // 在這里執行 } function start_config() { ... } |
2、或者做成callback函數
123456789101112131415161718 | function start_flow() { start_project( start_config ); //start_config(); ... } function start_project( callback ) { ... if ( typeof callback != "undefined" ) callback(); // 執行調用函數 } function start_config() { ... } |

茅侃侃
TA貢獻1842條經驗 獲得超22個贊
start_project 添加一個參數,
start_project(fn){
………………
fn()
}
function start_flow()
{
start_project(start_config);
……
}
- 3 回答
- 0 關注
- 2406 瀏覽
添加回答
舉報
0/150
提交
取消