私は既存の関数にいくつかの機能を追加しようとしています。私は、現在のルーチンの途中に追加のステップを挿入する必要があります。私は第2の関数に行く方法を知っていますが、第2のルーチンが完了すると主関数に戻るために何をすべきか分かりません。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の私の時代に、私たちはこのゴッサブと呼ばれました。
更新: 手順1は、従業員がプロジェクトに割り当てられているかどうかを確認するためにajax呼び出しを実行します。 response.status = 'Assigned'の場合、 jQueryダイアログボックスで「このプロジェクトに従業員をコピーまたは移動しますか?」というメッセージが表示されます。 jQueryダイアログボックスはstep1_subroutineになります。答えはstep1関数に返されます。 step1の残りの部分は単に "コピー"または "移動"の隠しテキストフィールドに値を配置することになります。
'step1_subfunction'が非同期コードを実行しない限り、それは正確に動作します – scibuff
@scibuffは偶然にもajaxコールのようですか? – HPWD
@dlackey:うん。 'step1_subfunction'にはAJAX呼び出しが含まれていますが、これは動作しません。 –