Jquery 使用第一个ajax调用对最后一个ajax调用的响应
我对jquery的承诺相当陌生。 我想问一下,这种情况是否可能: 我有两个ajax调用,我正在使用。然后将它们链接起来。这就是我想做的:Jquery 使用第一个ajax调用对最后一个ajax调用的响应,jquery,ajax,promise,Jquery,Ajax,Promise,我对jquery的承诺相当陌生。 我想问一下,这种情况是否可能: 我有两个ajax调用,我正在使用。然后将它们链接起来。这就是我想做的: ajaxCall1().then(ajaxCall1).done(functionCallHere); 我可以在ajaxCall2中使用ajaxCall1的响应,这正是我真正想要做的。 但是,最后我想在函数callhere中同时使用ajaxCall1和ajaxCall2的响应 我在这里搜索过类似的问题,但从未找到过。所以是否可以在函数Callhere中访问a
ajaxCall1().then(ajaxCall1).done(functionCallHere);
我可以在ajaxCall2中使用ajaxCall1的响应,这正是我真正想要做的。
但是,最后我想在函数callhere中同时使用ajaxCall1和ajaxCall2的响应
我在这里搜索过类似的问题,但从未找到过。所以是否可以在函数Callhere中访问ajaxCall1的响应?如果是,我该怎么做?
它与$.whenajax1、ajax2.donefunctionr1、r2的工作方式类似吗?如果在函数中放入两个参数,它会自动解释为response1和response2
此外,我尝试不使用.when,因为我不希望调用异步运行或分叉。尽可能多我只想把他们锁起来。当然,如果这是唯一的方法,那么我可以恢复使用它
非常感谢 您可以通过嵌套来完成
ajaxCall1()
.then((response) => {
ajaxCall2()
.then((response2) => {
functionCallHere(response);
})
})
也可以在所有ajax调用之前定义变量
var response1;
var response2;
ajaxCall1()
.then((response) => {
response1 = response;
ajaxCall2()
.then((response2) => {
response2 = response2;
})
})
.done(functionCallHere(response1)); // or other variable you want to pass.
您还可以尝试一个解决方案->
async function yourFunction() {
var response1 = await ajaxCall1();
var response2 = await ajaxCall2();
functionCallHere(response1); // or other variable you want to pass.
}
注意:不要错过async before函数 你试过了吗?ajaxCall1.thenresponse=>{ajaxCall2;functionCallHereresponse;}当然,您可以在内部调用函数Callhere。而且你知道你可以把你的回复传递给一个函数。谢谢!是的,这是我的第一个方法。我只是想知道是否有这样一种方法,你可以这样做:``.thenajx2.thenajx3.thenajx4.donefunctionHere``和functionHere可以使用所有ajax调用响应,这样它的工作原理就和.$一样了。当函数s1、rs2、rs3运行时,它看起来会更干净。但是是的,你的答案是有效的!谢谢你!哦。。我使用的解决方案类似于在所有ajax调用之前定义变量的第二个解决方案。非常感谢。这真的帮助了我!我必须阅读有关async的内容,并在使用它们之前等待关键字-正如我所说,我对这个概念完全陌生。谢谢你的建议!