を終えた後、私は次のコードを持っている$ .whenを呼び出します。それをどうすれば実現できますか?jqueryの関数が
答えて
AddRoleToUser
機能が終了した後にのみ$.when
が発生します。
これはあなたの現在のコードが行うことです。しかし、AddRoleToUser
が非同期プロセスを開始し、そのプロセスが完了するまで待つ場合は、AddRoleToUser
はコールバックを受け入れるか、約束を返す必要があります。
我々はそれが約束を返すと仮定した場合(あなたがそれを呼び出すしない場合は代わりにダミーの約束を使用して)それを解決するために、そしてあなたが$.when
待ち時間にお電話を持つことができます。
isPublisher.done(function(isActive) {
var p;
if (isActive) {
p = AddRoleToUser(inlineUid, "Publisher");
} else {
p = $.Deferred().resolve().promise();
}
p.then(function() {
$.when(SetCountryAndLanguage(), GetUserRoles()).done(SetInlineManualTracking);
});
});
AddRoleToUserはajaxリクエストです。質問に追加しました。 –
@ OffirPe'erしたがって、 'AddRoleToUser()'はajaxリクエスト(約束)を返すべきです: 'function AddRoleToUser(userId、role){return $ .ajax(...);} } 'EDIT:あなたのオープニングの質問の編集に続いて、あなたがコードとして使っているかどうかは本当にわかりません...? –
@ A.Wolff私はそれを加えました。 –
- 1. divがjqueryの関数に
- 2. jQueryセレクタの値が関数
- 3. jQuery関数のIF関数
- 4. 関数内のjquery関数
- 5. Jqueryの関数
- 6. jQueryの - jQueryのコールバック関数
- 7. jQueryコールバック関数が累積
- 8. カスタムjquery関数のJquery/window.onbeforeload
- 9. jquery-uiダイアログのjquery関数
- 10. 関数内のjquery関数のループ
- 11. jquery関数のヘルプ?
- 12. Jquery関数のリンク
- 13. jQueryのコールバック関数
- 14. jqueryの.each()関数
- 15. jQueryの.pop()関数
- 16. JQueryのトグル()関数
- 17. jqueryのHTML()関数
- 18. jQueryの匿名関数 - ネスト関数
- 19. jquery関数のパススルー変数
- 20. setTimeout関数(jQuery)の変数
- 21. jqueryの - 変数、関数
- 22. 別のjquery関数の中でjquery関数を呼び出す
- 23. ローディング関数がjqueryのisonscreen関数で動作しない
- 24. グローバルjquery関数
- 25. jQuery indexOf関数?
- 26. jQuery .click.each関数
- 27. jquery hover関数
- 28. JQueryカスタム関数
- 29. Jquery関数バインディング
- 30. jQueryラウンド関数
コードとは何ですかAddRoleToUser()の中で?おそらくそれはAJAXリクエストです。そうでなければ、コードはすでにあなたが必要とするものをやっているでしょう –
こんにちはRory、@ RoryMcCrossan、それはajaxリクエストです。 –