搜索

首页  >  问答  >  正文

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

我发送一个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){})时,因为异步,已经运行下面的代码了,导致我打印出问题了

女神的闺蜜爱上我女神的闺蜜爱上我2720 天前776

全部回复(1)我来回复

  • 给我你的怀抱

    给我你的怀抱2017-06-17 09:18:38

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

    回复
    0
  • 取消回复