簡體   English   中英

等待承諾中的功能完成

[英]Wait for functions within a promise to finish

我在Angular.js控制器中具有以下功能:

vm.some_action = function() {
    var promise = IDService.getUserInfo().then(function(user) {
        vm.user.name = user.name;
        vm.box.color = 'red';
        vm.save()
    }, function(errorResponse) {
        Toast.error("Failed:", errorResponse);
    })

    $q.resolve(promise).then(function() {
        $location.path('/home');
    })
}

它應該等待promise中的所有函數調用完成,然后才重定向到/home 但是,它似乎執行了全部三個(兩個賦值和對save()的調用)並立即重定向。 告訴它等待save()函數完成的神奇方法是什么?

如下鏈接您的諾言:

 vm.some_action = function() { IDService.getUserInfo().then(function(user) { vm.user.name = user.name; vm.box.color = 'red'; return vm.save() }).then(function() { $location.path('/home'); }, function(errorResponse) { Toast.error("Failed:", errorResponse); }); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM