我知道这可能是一个容易回答的问题,但我无法理解它。我需要一个函数,将一个数字递增1并返回一个promise。
这是fiddle
失败的例子
var incrementingFn = function() {
return $q(function(resolve,reject) {
var n = 0;
$q.resolve(function() {
n += 1;
return n;
}());
}
}
incrementingFn().then(function(res) {
var num = res;
}
答案 0 :(得分:0)
你在代码中做了许多不正确的事情。
这是他们的清单。
}
。<强>代码强>
var myApp = angular.module('myApp', []);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
myApp.controller('MyCtrl', MyCtrl)
function MyCtrl($scope, $q) {
$scope.name = 'Superhero';
var n = 0;
var incrementingFn = function() {
return $q(function(resolve, reject) {
resolve(function() {
n += 1;
return n;
}());
})
}
incrementingFn().then(function(res) {
$scope.num = res;
}
);
}
答案 1 :(得分:0)
您的代码中存在语法问题以及其他逻辑问题
尝试
var n = 0;
var incrementingFn = function() {
return $q(function(resolve, reject) {
n++;
resolve(n);
});
}
incrementingFn().then(function(res) {
$scope.num = res;
});
一个要点是,如果您计划再次增加号码,则不希望每次都在函数内部将其声明为0
,否则它将始终返回1
的 DEMO 强>