Javascript回调 – 如何返回结果?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript回调 – 如何返回结果?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1352字,纯文字阅读大概需要2分钟。
内容图文
![Javascript回调 – 如何返回结果?](/upload/InfoBanner/zyjiaocheng/765/53341219a7974f1b84da6ab0adde43c2.jpg)
我正在努力完全理解回调,我在最后的障碍中磕磕绊绊.
在JS中我调用一个函数,然后使用dojo rpc Json服务调用PHP函数.我已经逐步完成了firebug中的函数并且PHP正在执行并通过回调返回正确的响应,但我不知道如何将值返回到调用JS函数的初始JS变量?例如.
JS Function 1
Function one(){
Var test = getPhp(number);
}
function getPhp(number)
{
this.serviceBroker = new dojo.rpc.JsonService(baseUrl + '/index/json-rpc/');
var result = serviceBroker.phpFunc(number);
result.addCallback(
function (response)
{
if (response.result == 'success')
{
return response.description;
//I am trying to pass this value back to the
//var test value in function one
}
}
);
}
基本上我现在需要将response.description传递回函数1中的var test变量.
任何帮助表示赞赏
解决方法:
这是不可能的,因为回调是异步运行的.这意味着getPhp函数在执行回调之前返回(这是回调的定义,也是异步编程很难的原因之一;-)).
您要做的是创建一个使用测试变量的新方法.执行回调时需要调用此方法.
即
function one(result) {
var test = result;
// Do anything you like
}
function getPhp(number, callback) {
this.serviceBroker = new dojo.rpc.JsonService(baseUrl + '/index/json-rpc/');
result.addCallback(
function (response)
{
if (response.result == 'success')
{
callback(response.description);
}
}
);
}
getPhp(number, function(result) { one(result); });
最后一个方法创建一个传递给getPhp函数的“匿名函数”.该函数在响应到达时执行.这样,您可以在数据到达后将数据传递给one(数字)函数.
内容总结
以上是互联网集市为您收集整理的Javascript回调 – 如何返回结果?全部内容,希望文章能够帮你解决Javascript回调 – 如何返回结果?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。