只是一小段代码:
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
同时获取,如果成功,分别运行代码case 1
和case 2
/usr1.json
和url2.json
都成功,则会/url3.json
$.when
返回的延迟对象(或一个承诺,现在看不见)/url1.json
返回/url2.json
和$.when
的对象$.get('/url3.json')
的规则)我需要的是什么:
1. ...
2. ...
3.返回由$.when(...).flatMap(function() { return $.get('/url3.json') })
所以,也许我需要像
这样的东西{{1}}
我有办法吗?
答案 0 :(得分:4)
只需拨打then
而不是done
即可将承诺更改为传入的回调结果。
return $.when(
$.get('/url1.json'),
$.get('/url2.json')
)
.then(function() {
return $.get('/url3.json')
});