我正在向現有功能添加一些功能。我需要在當前例程中插入一個額外的步驟。我知道如何去第二個函數,但是我不知道如何在第二個例程完成後返回主函數。如何編寫一個JS函數來執行某些操作,然後在該過程完成後返回?
function step1(){
perform ajax call to see if student is assigned to a project
step1_subfunction()
// wait here until step1_subfunction is done
do some more stuff with response from user
}
function step1_subfunction(){
prompt user via jQuery dialog, 'Add or move employee to the project?'
// return to step1 with answer returned from user and resume
}
我會谷歌這個,但我不知道這個「過程」是否有一個名稱。回到COBOL的日子裏,我們稱之爲gosub。
更新: 步驟1執行ajax調用以查看員工是否已分配給項目。如果response.status ='Assigned',則用戶將通過jQuery對話框「您想要將員工複製或移動到該項目嗎?」來詢問用戶。 jQuery對話框將是step1_subroutine。答案將被傳回給step1函數。 step1的其餘部分僅僅是將一個值放置在「複製」或「移動」的隱藏文本字段中。
只要'step1_subfunction'不執行任何異步代碼,這就是它的工作原理 – scibuff 2012-02-29 17:07:51
@scibuff像偶然的ajax調用一樣長? – HPWD 2012-02-29 17:11:05
@dlackey:是的。它'step1_subfunction'包含一個AJAX調用,這是行不通的。 – 2012-02-29 17:12:00