[英]How to return value from anonymous function in js
我想从匿名函数返回值。 如何在下面的代码中将返回值分配给 $id 变量?
$(document).on("click", '.delete-component', function(e) {
return 4;
});
//$id in this scope should be equal 4
您需要指定到达 asyn 函数或操作时要执行的操作,因此通常使用回调时的返回是另一个回调...
function aux(param1, callback){
// do whatever...
$(document).on("click", param1, function(e) {
// return 4;
callback(4);
});
}
你会在你的代码中使用它,如下所示:
// your context..
// operations 1.. 2..
aux('.delete-component', function(theReturnedValue){
console.log(theReturnedValue); // 4
});
这就是回调将值“返回”到外部作用域的方式。
您必须注意的一件事是您在这里使用异步操作。 让我们按严格的顺序对行进行编号(n 表示远在很久以后的某个高数)
1] $(document).on("click", '.delete-component', function(e) {
n+1] return 4;
});
2] console.log('here');
您所做的是附加侦听器以单击。 目前不会发生点击 - 当有人点击时会发生。 因此,您将可以在点击后访问它。 你可以做两件事:
1) 示例 1
var myValue = 0;
$(document).on("click", '.delete-component', function(e) {
myValue = 4;
});
function abc() {
console.log('myValue is equal to ' + myValue);
}
// if that line happen before clicking, value will be still 0
execture somewhen abc();
2) 例 2
$(document).on("click", '.delete-component', function(e) {
doSomethingWithValue(4);
});
function doSomethingWithValue() {
console.log('myValue is equal to ' + myValue);
}
你也可以调查 $watch,尤其是 Angular 在这里为你做了很多工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.