Javascript 如何在jQuery中链接延迟对象?
只是一小段代码:Javascript 如何在jQuery中链接延迟对象?,javascript,jquery,http,asynchronous,Javascript,Jquery,Http,Asynchronous,只是一小段代码: return $.when( $.get('/url1.json').done(function(r){ //case 1 }), $.get('/url2.json').done(function(r) { //case 2 }) ).done(function(){return $.get('/url3.json').done(function(r){ //case 3 })}) 此代码的作用是: 同时为/url1.json和/url2.j
return $.when(
$.get('/url1.json').done(function(r){
//case 1
}), $.get('/url2.json').done(function(r) {
//case 2
})
).done(function(){return $.get('/url3.json').done(function(r){
//case 3
})})
此代码的作用是:
/url1.json
和/url2.json
运行代码,如果成功,则分别为案例1
和案例2
运行代码/usr1.json
和url2.json
都成功,它将运行get for/url3.json
$。当返回时(因此,/url1.json
和/url2.json的对象由$。当的规则返回时)
1. ...
2. ...
3.返回由
$.get('/url3.json')
所以,也许我需要像这样的东西
$.when(...).flatMap(function() { return $.get('/url3.json') })
我有什么办法吗?只需调用而不是done
,即可将承诺更改为传入回调的结果
return $.when(
$.get('/url1.json'),
$.get('/url2.json')
)
.then(function() {
return $.get('/url3.json')
});
只需调用而不是done
,即可将承诺更改为传入回调的结果
return $.when(
$.get('/url1.json'),
$.get('/url2.json')
)
.then(function() {
return $.get('/url3.json')
});
谢谢你,杰森。看起来这正是我需要的。在询问之前,我检查了jquery文档,但不明白
然后是什么
,谢谢你,Jason。看起来这正是我需要的。在询问之前,我检查了jquery文档,但不明白then
到底是什么……您要查找的flatMap
称为then
,您要查找的flatMap
称为then
at