如何从JavaScript中的两个函数返回
How do you return from two functions deep in JavaScript
设置如下:
var blah = function () {
var check = false;
verify({ success: function () {
if... check = true;
else... check = false;
}});
return check;
};
这个想法是使用验证函数来检查一些东西,然后返回true
或false
。然而,上面的方法总是返回false
-在success
函数被调用之前返回。
我如何得到我需要的结果?
你不能,
var blah = function (callback) {
verify({
success: function () {
if () {
callback(true);
} else {
callback(false);
}
}
});
};
blah(function(result) {
// my code here
});
Jquery 1.6有一个新的承诺api,允许你接受一个异步调用的返回,并使它看起来更同步,但它基本上和这个一样。
看起来verify
正在异步调用成功函数?
如果是这种情况,您需要做的是将blah
之后要做的事情打包为一个函数-称为foo
。然后在verify
内调用到foo
-例如:
if... { foo(true); }
else...{ foo(false); }
对于您的示例,您可以这样做:
var blah = function () {
var check;
try{
verify({ success: function () {
if... throw true;
else... throw false;
}});
}
catch(e){
check = e;
}
return check;
}
相关文章:
- JQuery合并了keyup和focusout两个函数
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 递归|两个函数名
- 同一事物的两个函数,一个崩溃,另一个不崩溃,为什么
- 如何调用两个函数是一种html输入类型
- 广义化对两个性质起反作用的两个函数
- 两个函数之间的角度承诺
- 在keyup更改上运行两个函数
- 为什么这两个函数调用不相等
- 在 javascript 中通过继承调用两个函数
- 删除两个函数使用的全局变量
- 我需要将这两个函数从javascript更改为JQuery,任何人都可以告诉我如何转换
- 我需要在单击时运行两个函数.即使嵌套在一起,我也无法让它们都工作
- iMacros iim播放如何调用两个函数
- 尝试连接Angular.js或JavaScript中的两个函数返回
- 我的if和else-if逻辑中的问题以及两个函数的冲突
- 如何在onchange事件中的两个函数之间进行选择
- javascript中的函数重载使两个函数名称相同,但输入数字不同
- 包括javascript按键中的两个函数
- 在onload上调用两个函数不起作用