我的控制器中有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
我想在console.log("code after callbacks")
回调执行后执行.create
以下的代码。
我尝试使用.then
但似乎ngResource不支持它。
Calculation.create(...).then is not a function
。
ngResource .then
的等效性是什么?
答案 0 :(得分:0)
$resource
个实例(在您的情况下为Calculation
)有一个属性$promise
,您可以像往常一样使用.then
:
Calculation.create($scope.calculation).then(function (response) {
...
});
docs中的最后一个示例也向您展示了它是如何完成的。
答案 1 :(得分:0)
Angular $ resource返回一个你可以使用的承诺。然后再使用。
Calculation.create().$promise.then( function( response ) {
console.log("success");
}, function( error ) {
console.log("error");
);
答案 2 :(得分:0)
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...}
)