如何将js回调函数中的数据返回给最外层函数?

const http=require('http');

function getData(url){
    http.get(url,function(res){
        var body='';
        res.on('data',function(str){
            body+=str;
        });
        res.on('end',function(){
            var result=JSON.parse(body);
            //将result返回到getData外面
        })
    });
}

就是当触发end事件后,把结果传给getData()函数的返回值

求大神给个解决办法

阅读 3.2k
1 个回答
const http=require('http');

function getData(url){
    return new Promise(resolve => {
      http.get(url,function(res){
        var body='';
        res.on('data',function(str){
            body+=str;
        });
        res.on('end',function(){
            var result=JSON.parse(body);
            //将result返回到getData外面
            resolve(result)
        })
    });
   })
}

使用

getData(url).then(data => {
  console.log(data)
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题