函数中的 js 函数并等待返回值
js function inside function and wait for return value
$(document).ready(function(){
// Global function (will be include in any HTML file)
function m3_result(size_1, size_2, size_3){
$.get('http://www.google.com', function(data){
return data;
});
}
// Another function
function calculate(){
var size_1 = parseFloat($('#add_document_form #size_1').val());
var size_2 = parseFloat($('#add_document_form #size_2').val());
var size_3 = parseFloat($('#add_document_form #size_3').val());
var ax = m3_result(size_1, size_2, size_3);
alert(ax); // Here ax return: UNDEFINED
}
// Run
calculate();
});
结果是"未定义的",但我希望 calculate(( 将等待 m3_result(( 执行。当我添加 $.get(( 时,我看到这里的问题出现了,但它需要......
我搜索了类似 callback(( 的函数,但没有一个适合我的需求,或者我只是没有正确处理。任何帮助将不胜感激,谢谢。
GET url 将是本地的,元素 ID 也可以。
你不能从异步函数返回结果,而是可以返回一个承诺,稍后提供该值,这恰好是$.get
返回的jqXHR
对象:
function m3_result() {
return $.get(...)
}
并在计算中执行相同的操作:
function calculate() {
...
return m3_result(...);
}
然后等待结果,该结果将作为参数传递给使用 .done
函数注册的回调:
calculate().done(function(result) {
alert(result);
});
相关文章:
- 如何在jqGrid中使saveRow函数等待editRow函数
- 让 JavaScript 函数等待 Jquery 对话框模态的结果
- 如何在函数完成后使用 jQuery 进行动画处理 - 让第二个函数等待
- 如何使函数等待回调完成
- 让jquery函数等待它'的上一个呼叫已解决
- Javascript/jQuery使函数等待回调后再继续
- 让一个函数等待另一个变量
- 如何强制异步函数等待,直到完成
- 使函数等待/暂停;直到另一个结束
- 需要函数等待事件处理程序完成后再执行下一个函数
- Javascript函数等待另一个函数完成
- Javascript:让函数等待查询完成
- 我需要把'return'casper.then'块,让父函数等待子函数完成执行
- 使函数等待直到元素存在
- 美元.Ajax成功函数等待
- 如何让我的javascript函数等待html元素渲染
- 如何强制函数等待某个事件发生
- javascript/jquery:迭代调用函数;等待之前的通话结束
- 如何让JS函数等待执行
- 如何让NodeJs函数等待