node.js - 异步回调怎么把值传到数组?

浏览:25日期:2022-09-07

问题描述

我发送一个http的post请求,得到回来的值,然后callback。想把这个文件require到其他的请求下,不知道怎么拿出来存好;`

var req= http.request(options,function(res){

var size=0;var chunks=[]; res.on(’data’, function (chunk) { size += chunk.length; chunks.push(chunk); });res.on(’end’,function(){var datas = Buffer.concat(chunks,size);//console.log(datas) var htmldata = JSON.parse(datas.toString());callback1(htmldata);})})req.write(data);req.end();

}

module.exports=request;//其他请求var king=require(’./yinhttp.js’)//引入;`

var arr=[];king(function(v){//获取值,push进数组;})

我试了好久,值都没传到外面我找到原因了,是因为异步操作了,我定义好了数组,但是运行到king(function(v){})时,因为异步,已经运行下面的代码了,导致我打印出问题了

问题解答

回答1:

这是res支持流的原因和写法, 所以才会拿不到

相关文章: