类似这样:
var aaa = 0;
http.get('http://abc.com/api"', function (res) {
var json = '';
res.on('data', function (d) {
json += d;
});
res.on('end',function(){
//获取到的数据
json = JSON.parse(json);
aaa = json;
});
}).on('error', function (e) {
console.error(e);
});
console.log(aaa);
因为异步返回数据的问题,实际上aaa没有得到json的数据,输出还是0;如何让aaa的输出为json的值呢?
你的问题应该改为
异步返回的数据怎么能类同步获取呢...
就像 Promise,所有的数据操作都应该在链中操作。同理,你的
异步回调也应该在回调函数中操作
。你可以看看 Node.js 实现异步 I/O 操作的流程:
建议,如果你不喜欢这种回调函数的写法,可以使用 ES7 的 Async/Await 语法。
举个?:
这样是不是舒服多了呢 ~ 但是建议选择最新 LTS 版本的 Node.js哦