gpt4 book ai didi

javascript - $q promises - 对象不是函数

转载 作者:行者123 更新时间:2023-12-03 09:40:22 24 4
gpt4 key购买 nike

我想运行来自 https://docs.angularjs.org/api/ng/service/$q 的 promise 示例,这是我的代码:

angular.module('testControllers').controller('testCtrl', ['$scope', '$q', function($scope, $q) {

function asyncGreet(name) {
// perform some asynchronous operation, resolve or reject the promise when appropriate.
return $q(function(resolve, reject) {
setTimeout(function() {
if (true) {
resolve('Hello, ' + name + '!');
} else {
reject('Greeting ' + name + ' is not allowed.');
}
}, 1000);
});
}

var promise = asyncGreet('Robin Hood');
promise.then(function(greeting) {
console.log('Success: ' + greeting);
}, function(reason) {
console.log('Failed: ' + reason);
});
}

Chrome 不断告诉我:类型错误:对象不是函数

我做错了什么样本?

最佳答案

请确保至少在 1.3 版本中使用 angularjs 请参阅下面的演示

var app = angular.module('app', [])

.controller('firstCtrl', function($scope, $q) {
$scope.ver = angular.version.full;

$scope.message = ""

$scope.asyncGreet = function (name) {
// perform some asynchronous operation, resolve or reject the promise when appropriate.
return $q(function(resolve, reject) {
setTimeout(function() {
if (true) {
resolve('Hello, ' + name + '!');
} else {
reject('Greeting ' + name + ' is not allowed.');
}
}, 1500);
});
}

promise = $scope.asyncGreet('Robin Hood');
promise.then(function(greeting) {
alert('Success: ' + greeting);
}, function(reason) {
alert('Failed: ' + reason);
});
});
<script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.0/angular.js"></script>

<div ng-app="app">
<div ng-controller="firstCtrl">

Angular ver: {{ver}}






</div>
</div>

关于javascript - $q promises - 对象不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26380554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com