两种链接ajax jquery调用的方法。正确对象,真爱?
我Ajax调用的下一个链条:两种链接ajax jquery调用的方法。正确对象,真爱?
ajaxCall1().then(function(){
ajaxCall2(). then(function(){
ajaxCall3().then(function(){
....
})
})
})
正如你所看到的,我没有返回Ajax调用但它只是正常工作。接下来的方法就是我所看到的例子:
ajaxCall1()
.then(function(){
return ajaxCall2()
})
.then(function(){
return ajaxCall3()
}).then(function(){
....
})
什么是正确的方法?
由于
第二个。在第一个中,您不会创建承诺链。第一个应该是这样的:
ajaxCall1().then(function() {
return ajaxCall2().then(function() {
return ajaxCall3().then(function() {
.....
})
})
})
但即使如此,你有深嵌套,这是一般的不好的编码风格。
如果要并行执行的请求,这些请求不依赖于对方,在他们这样做不要紧,你可以写的顺序:
Promise.all([
ajaxCall1(),
ajaxCall2(),
ajaxCall3()
])
.then(results => {
})
如果订单事宜,然后使用你的第二种方法。
如果有时您返回ajax调用或者有时不是因为不需要,如何编写第一种方式? – user3254515
@ user3254515我不完全明白你在问什么。 –
我的意思是,如果一个ajax调用的响应是错误,如何中断ajax调用链? – user3254515
好的,但我可以确保ajax调用不在同一时间执行的第一种方式,对吧?虽然根据模式是不好的风格 – user3254515
第二种方式和第一种方式都是顺序执行你的ajax函数。 – nem035