第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將js回調(diào)函數(shù)中的數(shù)據(jù)返回給最外層函數(shù)?

如何將js回調(diào)函數(shù)中的數(shù)據(jù)返回給最外層函數(shù)?

慕容708150 2019-03-14 18:13:52
我希望在nodejs中封裝一個模塊用于返回http請求的數(shù)據(jù),基本的結(jié)構(gòu)是這樣: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外面        })    });}module.exports=getData;最后可以通過調(diào)用getData函數(shù)返回數(shù)據(jù)。所以問題是:1.如果不借助promise和async function的話要怎么實現(xiàn)呢?能實現(xiàn)嗎?2.如果我向下面一樣直接返回,那返回值到底去哪里了?能取到嗎?res.on('end',function(){            var result=JSON.parse(body);            //將result返回到getData外面            return result;        })
查看完整描述

5 回答

?
開心每一天1111

TA貢獻1836條經(jīng)驗 獲得超13個贊

1.返回數(shù)據(jù)受res Event的限制,是一個異步操作。因此不用promiseasync await的話是無法實現(xiàn)的。

2.這個return是無法直接獲取的。退一步,即使獲取了也還是在http.get的回調(diào)函數(shù)里面,無法實現(xiàn)題目要求。


查看完整回答
反對 回復(fù) 2019-03-18
?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

通過res.on綁定事件,當(dāng) 檢測到end事件時觸發(fā)回調(diào)函數(shù)。沒法同步return 數(shù)據(jù)的。這樣的module.exports=getData導(dǎo)出結(jié)果也沒什么意義。


查看完整回答
反對 回復(fù) 2019-03-18
?
汪汪一只貓

TA貢獻1898條經(jīng)驗 獲得超8個贊

1.是否可以在http外聲明一個變量?在res end的時候把返回值賦給 這個變量,然后同樣在http外return這個變量
2.在res.on事件內(nèi)return是不會在調(diào)用的時候拋到函數(shù)的最外層的

查看完整回答
反對 回復(fù) 2019-03-18
?
慕雪6442864

TA貢獻1812條經(jīng)驗 獲得超5個贊

可以加個回調(diào)函數(shù),調(diào)用的時候傳進去就行了


function getData(url,callback){

    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外面

            callback && callback(result)

        })

    });

}


//調(diào)用

getData(url,function(data){

    //你的操作

})


查看完整回答
反對 回復(fù) 2019-03-18
  • 5 回答
  • 0 關(guān)注
  • 5483 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號