Dog*_*Dog 1 javascript timeout angularjs angularjs-scope
为什么$timeout在Angular JS中使用内部函数时,如下所示,工作正常.
var mytimeout = $timeout(function(){
console.log("MyTimeout Executed");
},2000);
mytimeout.then(
function() {
console.log( "mytimeout resolved!", Date.now() );
},
function() {
console.log( "mytimeout rejected!", Date.now() );
}
);
Run Code Online (Sandbox Code Playgroud)
但是当我使用$timer里面的函数时,$scope它不起作用,像这样:
$scope.myFunction = function(){
console.log("MyTimeout Executed");
};
var mytimeout = $timeout($scope.myFunction(),2000);
mytimeout.then(
function() {
console.log( "mytimeout resolved!", Date.now() );
},
function() {
console.log( "mytimeout rejected!", Date.now() );
}
);
Run Code Online (Sandbox Code Playgroud)
并收到此错误:
TypeError: undefined is not a function
at http://0.0.0.0:3000/assets/angular.js?body=1:14015:28
at completeOutstandingRequest (http://0.0.0.0:3000/assets/angular.js?body=1:4301:10)
at http://0.0.0.0:3000/assets/angular.js?body=1:4602:7 angular.js?body=1:9779
(anonymous function) angular.js?body=1:9779
(anonymous function) angular.js?body=1:7217
(anonymous function) angular.js?body=1:14018
completeOutstandingRequest angular.js?body=1:4301
(anonymous function) angular.js?body=1:4602
Run Code Online (Sandbox Code Playgroud)
var mytimeout = $timeout($scope.myFunction(),2000);
Run Code Online (Sandbox Code Playgroud)
这是你的问题.()从中取出myFunction().你需要传递一个函数引用,而不是调用函数并获取结果(在这种情况下将是undefined),然后将其传递给$ timeout.
| 归档时间: |
|
| 查看次数: |
3491 次 |
| 最近记录: |