JavaScript 回调函数异步执行问题:如何在 AppFrame.Http.Get 函数执行完毕后才返回?

JavaScript 回调函数异步执行问题:如何在 AppFrame.Http.Get 函数执行完毕后才返回?

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); })
登录后复制

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容