簡體   English   中英

回調ngResource之后執行代碼

[英]Execute code after callback ngResource

我的控制器中有用於ngResource創建的功能

app.controller 'CalculationsCtrl', ($scope, Calculation)->

  $scope.save = ()->
    $scope.busy = true
    Calculation.create($scope.calculation,
      (successResult)->
        console.log ("sucess")
      , (failResult)->
        console.log ("failrue")

    console.log("code after callbacks")
    $scope.busy = false

我想在執行.create回調console.log("code after callbacks")執行console.log("code after callbacks")console.log("code after callbacks")下面的console.log("code after callbacks")

我嘗試使用.then .then但ngResource似乎不支持它。

Calculation.create(...).then is not a function

什么是等價.then對於ngResource?

$resource實例(在您的情況下為Calculation )具有屬性$promise ,您可以像往常一樣使用.then

Calculation.create($scope.calculation).then(function (response) {
    ...
});

文檔中的最后一個示例還向您展示了它是如何完成的。

Angular $ resource返回一個可以使用.then的承諾。

Calculation.create().$promise.then( function( response ) {
    console.log("success");
}, function( error ) {
    console.log("error");
);

Calculation.create(...).then is not a function. 返回,因為回調返回"strings" (來自console.log )。

回調需要o返回服務器響應。

app.controller'CalculationsCtrl',($ scope,Calculation)->

  $scope.save = ()->
    $scope.busy = true
    Calculation.create($scope.calculation,
      (successResult)->
        console.log ("sucess")
        successResult
      , (failResult)->
        console.log ("failrue")
        failResult
    ).$promise.then(
       function(succes){$scope...}, 
       function(fail){$scope...}
     )

暫無
暫無

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

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