好吧。尝试在这里提出一个非常简单的请求。第一个使用异步 Nodejs 的代码。根据我检查过的所有地方,我这样做是正确的。他们都没有真正解释回调是如何工作的,他们只是说要做什么,所以我无法直观地弄清楚它。
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;
}
}));
谢谢
最佳答案
有两件事 - 首先,将回调变量传递给 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);
}
}));
关于node.js - 如何正确使用NodeJS中的回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59796899/