ICode9

精准搜索请尝试: 精确搜索
首页?>?bet356体育下载> 文章详细

javascript – 如何通过回调函数返回值

2019-09-30 10:36:41??阅读:7??来源: 互联网

标签:javascript?jquery?callback


这是我的代码

function save_current_side(current_side) {
    var result;
    var final = a.b({
        callback: function (a) {
            console.log(a); // its working fine here 
            return a;
        }
    });
}

其中b是同步函数.
我在代码中的任何地方调用上面的函数

var saved =  save_current_side(current_side);

保存的变量未定义.如何通过回调函数返回值

解决方法:

bet356体育下载如果b是一个synchronoys方法,你只需将值存储在一个变量中,这样就可以从save_current_side函数而不是回调函数中返回它:

function save_current_side(current_side) {
  var result;
  a.b({
    callback: function (a) {
      result = a;
    }
  });
  return result;
}

如果b是异步方法,则无法从函数返回值,因为退出函数时它仍然不存在.使用回调:

function save_current_side(current_side, callback) {
  a.b({
    callback: function (a) {
      callback(a);
    }
  });
}

save_current_side(current_side, function(a){
  console.log(a);
});


标签:javascript,jquery,callback

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有