好的。尝试在此处提出一个非常简单请求。异步Node.js的第一个代码。根据我检查过的所有地方,我做的很好。他们都没有真正解释如何回调的工作原理,只是说出要做什么,所以我没有办法直观地弄清楚它。
const request = require("request");
function fetchData(url, json, callback) {
request({
url: url,
json: json,
method: "get"
}, callback(error, response, body))
}
console.log(fetchData("https://www.yahoo.com", false, function(error, response, body) {
if(!error && response.statusCode == 200) {
return body;
} else {
return error;
}
}));
谢谢
答案 0 :(得分:0)
两件事-首先,将回调变量传递到request()
中,不要调用该函数。
callback
与callback()
第二,您不能使用回调函数的返回值。从回调函数内部调用console.log()
。
具有更改的代码:
const request = require("request");
function fetchData(url, json, callback) {
request({
url: url,
json: json,
method: "get"
}, callback)
}
fetchData("http://www.yahoo.com", false, function(error, response, body) {
if(!error && response.statusCode == 200) {
console.log(body);
} else {
console.log(error);
}
}));