问题描述
我发送一个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支持流的原因和写法, 所以才会拿不到