搜尋

首頁  >  問答  >  主體

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 天前772

全部回覆(1)我來回復

  • 给我你的怀抱

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

    這是res支持流的原因和寫法, 所以才會拿不到

    回覆
    0
  • 取消回覆