CNode

JS中双层回调的场景下,如何返最里层的值 ?

Sspringlin2012发布于13 年前最后回复13 年前5 回复6565 浏览0 收藏

类似于这样场景,我想拿到callback.getVal() 中返回的 value,大家有什么好的办法没?

function () {

  var aValue = a();

  function a() {
    return B.a("param", function (err, callback){
       return callback.getVal(err, value) {
          var val = value.Result;
          //这里可以拿到值
          console.log(val);
          return val;
        }
     });
  
  }

}
查看回复

回复 (3)

T
taomeejack#1·13 年前

这种 情况是有可能拿到的 只能给函数 传一个回调函数 function (cb) {

var aValue = a();

function a() { return B.a("param", function (err, callback){ return callback.getVal(err, value) { var val = value.Result; //这里可以拿到值

      cb(val);





      console.log(val);
      return val;
    }
 });

}

}

S
springlin2012#2·13 年前

就是使用 回调函数的方法, 也没办法解决这个应用场景问题, 因为我用的是Meteor, 是clien端 call server端的方法, 没办法传入回调

S
springlin2012#3·13 年前

@thesadboy 我这边是 客户端 call 服务端的异步调用, 所以这个模块也不能解决这问题, 不过还是谢谢thesadboy!

参与回复
登录后即可参与回复。登录