【发布时间】:2015-10-06 06:47:23
【问题描述】:
我正在尝试做类似的事情:
console.log("start spinner!");
for (var i = 0; i < modules.length; ++i) {
var filename = modules[i].filename;
$.get('./views/templates/'+ filename ).done(function(data){
modulesTemplates.push(data);
console.log(data);
}).fail();
}
如何进行回调或将整个循环包装在一个 Promise 中? 我尝试使用 bluebirdjs,类似于:
Promise.all([ modulesTemplates ])
.then(function(data){
console.log(course.modulesTemplates);
loadView('home.html');
console.log("stop spinner!");
});
但它不起作用。我错过了什么还是这样做的更好方法?
console.logs的顺序:
启动微调器!
[]
停止微调!
模板 1
模板 2
【问题讨论】:
-
您希望所有请求都是并发的(同时)还是顺序的(一个接一个)?
-
按正确顺序加载模板,因为我想以线性方式加载
-
您以正确的顺序加载它们,但仍然同时发出请求。
标签: javascript asynchronous promise bluebird