只是一小段代码:
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
它运行 get/url3.json
- 返回延迟对象(或 promise ,据我所知,现在没关系),
$.when
返回(因此,根据/url1.json
的规则返回/url2.json
和$.when
的对象)
我需要什么:
1. ...
2. ...
3. 返回由 $.get('/url3.json')
返回的延迟对象
所以,也许我需要类似的东西
$.when(...).flatMap(function() { return $.get('/url3.json') })
我有什么办法吗?
最佳答案
只需调用 then
而不是 done
将 promise 更改为传入回调的结果。
return $.when(
$.get('/url1.json'),
$.get('/url2.json')
)
.then(function() {
return $.get('/url3.json')
});
关于javascript - 如何在 jQuery 中链接延迟对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21946882/