Luc*_*zzi 3 javascript promise deferred angularjs q
我们以此为例:
这是一个工作代码,但由于数组可以是'1到n',这显然不是我想要的.我需要3个需求作为瀑布,而不是并行.在最后的承诺中,我需要解决最终的承诺,即延迟变更.
require(urls[0]).then(function () {
require(urls[1]).then(function () {
require(urls[2]).then(function () {
deferred.resolve();
});
});
})
Run Code Online (Sandbox Code Playgroud)
这种方法不起作用,因为这将并行执行所有$ http调用.
var promises = [];
angular.forEach(urls, function (value) {
promises.push(require(value));
});
$q.all(promises).then(function () {
deferred.resolve();
});
Run Code Online (Sandbox Code Playgroud)
是否有一个很好的方法来执行for/cycle?
创建一个函数来处理迭代:
function go (urls) {
if (urls[0]) {
require(urls[0]).then(function () {
go(urls.slice(1));
});
}
}
go(urls);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2654 次 |
| 最近记录: |