javascript 回调函数异步执行问题
在使用 javascript 时,遇到异步问题怎么办?以下是一段代码:
var beornoimgto = function(baiduurl) { var du; appframe.http.get(baiduurl, function(ret) { //为回调函数 if (ret.status == "402") { du= "fukeyou"; } else du= baiduurl; }) return du;}
登录后复制
问题是,调用 beornoimgto 函数后,appframe.http.get 函数还没执行完,就返回了。如何解决这个问题,让 appframe.http.get 执行完毕后再返回?
解决方法
立即学习“Java免费学习笔记(深入)”;
无法直接修改代码让 appframe.http.get 执行完毕后才返回。可以尝试以下方法:
在回调函数中将结果赋值给 beornoimgto 变量:
var beornoimgto = function(baiduurl) { appframe.http.get(baiduurl, function(ret) { //为回调函数 if (ret.status == "402") { beornoimgto = "fukeyou"; } else beornoimgto = baiduurl; })}
登录后复制创建一个函数,将要执行的操作封装起来,然后在回调函数中调用:
function doSomething(beOrNoimgTo) { // 要执行的操作}AppFrame.Http.Get(baiduurl, function(ret) { //为回调函数 if (ret.status == "402") { doSomething("fukeyou"); } else doSomething(baiduurl);})
登录后复制
以上就是JavaScript 回调函数异步执行问题:如何在 AppFrame.Http.Get 函数执行完毕后才返回?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2660110.html