ajax呼び出しに興味があるので、異なる呼び出しを行う複数のajax呼び出し関数がありますUrl endpoints
が、1つの呼び出しが失敗し、他の呼び出しが成功することがあります。
これらの関数があり、コンソールログに記録すると両方の呼び出しが機能することがわかっているとすると、必要な値が返されますが、ページが読み込まれるとこれらの呼び出しがトリガーされます。
function xs () {
$.ajax({
url: 'api/endpoint1?loc="space"',
method: 'GET'
...
})
}
function xd () {
$.ajax({
url: 'api/endpoint2?name="x"',
method: 'GET'
...
})
}
これらの関数をトリガーする方法とcalls.js
、このファイルをHTMLで呼び出すと、ajax呼び出しが発生します。しかし、成功するのはそのうちの1つだけ、または両方になることもあります。
function init() {
xs();
xd();
}
init();
したがってAJAX
、2つ以上ある場合は特に、複数の呼び出しを処理するためのより良い方法があるかどうか疑問に思っています。
あなたは2番目の要求を実行するようにして探している場合は関係なく、最初の結果の(成功または失敗)を介してそれを呼び出すjqXHR
さんdone
:
function xs() {
$.ajax({
url: 'api/endpoint1?loc="space"',
method: 'GET'
...
}).done(function(){
$.ajax({
url: 'api/endpoint2?name="x"',
method: 'GET'
...
});
});
});
それ以外の場合は、次を使用してpromiseを調べますPromise.all()
。
init(){
Promise.all( [
$.ajax({
url: 'api/endpoint1?loc="space"',
method: 'GET'
...
}),
$.ajax({
url: 'api/endpoint2?name="x"',
method: 'GET'
...
})
]).then(function(){
//Some other code - Won't run until both requests have finished
});
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加