Dis*_*sha 0 javascript performance angularjs angular-promise
在继续我的Web应用程序之前,我想要多个方法完全加载.为此,我做了以下 -
function getData(){
var defer = $q.defer();
$http.get("/echo/json/").success(function(data, status) {
getData2();
getData3();
$timeout(function(){
defer.resolve(data);
}, 1000);
});
return defer.promise;
}
Run Code Online (Sandbox Code Playgroud)
在这里,getData2()和getData3()也会执行ajax调用.所以我必须等待这些方法来完成调用,然后我必须返回main方法的承诺.
这很好,但给我性能问题.我可以用其他任何方式吗?
如果订单不重要,请使用$ q.all(),如下所示:
$q.all([getData1(), getData2(), getData3()])
.then(function(result){
// result[0] is output of getData1()
// result[1] is output of getData2()
// result[2] is output of getData3()
});
Run Code Online (Sandbox Code Playgroud)
但如果订单很重要,请按以下方式将其称为链:
getData1()
.then(function(result1){
return getData2();
})
.then(function(result2){
return getData3();
})
.then(function(result3){
// your other codes
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |