我正在阅读使用angularjs 书籍掌握Web应用程序开发,并且在第3章中,当自动公司拿走了大约$ q并保证他们写的并示例$超时。
index.html
<h1>Hello, {{name}}!</h1>
controller.js
$scope.name = $timeout(function () {
return "World";
}, 2000);
问题是我测试了代码,这对我不起作用,如果我写了一些错误,我不写一些,我写了几次,但我不知道错误在哪里。<<
我更改控制器中的代码:
$timeout(function () {
$scope.name = "World";
}, 2000);
效果完美。
有人知道为什么会发生这种情况吗?
这是因为超时返回承诺,而不是字符串。返回回调返回沿链条传递的内容。
正确使用它的方法是:
$timeout(function () {
return "World";
}, 2000).then(function(p) {
$scope.name = p;
});