在回调中执行 fn(param1, param2) AngularJS ng-click 样式
Execute fn(param1, param2) in callback AngularJS ng-click style
在 AngularJS 中(我很确定我在其他地方看到过)你将一个带有参数的函数传递给 ng-click。即
<div ng-click="myFunc(param)">Click Me</div>
我想做的是传递一个带有参数的函数作为JS中的回调。即
setTimeout(myFunc(param), 2000);
我认为这一定是可能的,因为 Angular 似乎成功了,但可以在任何地方找到它。
PS。这个用例是创建一个与承诺一起工作的 setTimeout,所以我可以 return 它在承诺链中。如果您有兴趣,这就是我遇到的问题:
function qTimeout(fn, duration){
var deferred = q.defer();
setTimeout(function () {
fn(*grr*)
.then(deferred.resolve)
.catch(deferred.reject)
})
return deferred.promise;
}
您要查找的是 Closure 吗?
function myFunc(param) {
return function myFunc2() {
// do something with param..
return doAsync(param); // suppose to return promise
};
}
setTimeout(myFunc(param), 2000);
myFunc
将 return myFunc2
其中 param
来自 myFunc
并且 myFunc2
将在 [=16= 中执行] 2000 毫秒后。
在 AngularJS 中(我很确定我在其他地方看到过)你将一个带有参数的函数传递给 ng-click。即
<div ng-click="myFunc(param)">Click Me</div>
我想做的是传递一个带有参数的函数作为JS中的回调。即
setTimeout(myFunc(param), 2000);
我认为这一定是可能的,因为 Angular 似乎成功了,但可以在任何地方找到它。
PS。这个用例是创建一个与承诺一起工作的 setTimeout,所以我可以 return 它在承诺链中。如果您有兴趣,这就是我遇到的问题:
function qTimeout(fn, duration){
var deferred = q.defer();
setTimeout(function () {
fn(*grr*)
.then(deferred.resolve)
.catch(deferred.reject)
})
return deferred.promise;
}
您要查找的是 Closure 吗?
function myFunc(param) {
return function myFunc2() {
// do something with param..
return doAsync(param); // suppose to return promise
};
}
setTimeout(myFunc(param), 2000);
myFunc
将 return myFunc2
其中 param
来自 myFunc
并且 myFunc2
将在 [=16= 中执行] 2000 毫秒后。