簡體   English   中英

Node.JS函數返回http響應值

[英]Node.JS function the returns http response value

我需要調用一個發出http請求的函數,並使其通過回調將值返回給我。 但是,當我嘗試時,我總是得到空響應。 有什么幫助嗎?

這是我的代碼:

var url = 'www.someurl.com'
makeCall(url, function(results){return results})

makeCall = function (url, results) {
          https.get(url,function (res) {
           res.on('data', function (d) {
                    resObj = JSON.parse(d);
                    results(resObj.value)

                });
            }).on('error', function (e) {
                     console.error(e);
                });
        }

您需要重組代碼以使用回調而不是返回值。 這是獲取您的外部IP地址的修改示例:

var http = require('http');

var url = 'http://ip-api.com/json';

function makeCall (url, callback) {
    http.get(url,function (res) {
        res.on('data', function (d) {
            callback(JSON.parse(d));
        });
        res.on('error', function (e) {
            console.error(e);
        });
    });
}

function handleResults(results){
    //do something with the results
}

makeCall(url, function(results){
    console.log('results:',results);
    handleResults(results);        
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM