[英]HTTP request callback on Node JS
嗨,我正在嘗試使用回調方法通過http獲得響應。 但是我收到一個錯誤消息,說回調不是函數。
module.exports.ipLookup = function (res, callback) {
var http = require('http');
var str = '';
var options = {
host: 'ip-api.com',
port: 80,
path: '/json/',
method: 'POST'
};
var str= "";
var req = http.request(options, function (res) {
res.on('data', function (body) {
str += body;
});
res.on('end', function () {
callback(str);
});
});
req.end();
return str;
}
id是什么應該通過ip-api.com返回json api響應。 如果有人可以幫助我,將不勝感激。
在另一個文件中,您需要從中加載函數,以確保使用了callback參數。 請參見下面的代碼段
var Lookup = require('./ip');
Lookup.ipLookup(function (response) {
console.log(response) // check if response is valid
})
您需要將導出的函數更改為僅接受一個參數,因為像這樣在函數體內沒有使用第一個參數。
module.exports.ipLookup = function (callback) {
var http = require('http');
var str = '';
var options = {
host: 'ip-api.com',
port: 80,
path: '/json/',
method: 'POST'
};
var req = http.request(options, function (res) {
res.on('data', function (body) {
str += body;
});
res.on('end', function () {
return callback(str);
});
});
req.end();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.