我創建一個簡短的例子和我有一個dubt:回調函數 - 的NodeJS
var request = require("request");
var url = "http://api.openweathermap.org/data/2.5/weather?q=turin&APPID=xxxxxxxxxxxxxxxxxxxxxx";
module.exports = function (callback) {
request(
{
url: url,
json: true
}, function (error, response, body) {
if (error) {
callback("Unable to fetch weather"); // callback function
} else {
callback("It is " + body.main.temp + " in " + body.name);
}
});
console.log("After request");
};
而從外部文件,我需要該模塊:
var weather = require("./weather.js");
weather(function (currentWeather) {
console.log(currentWeather);
});
在這種情況下,我稱之爲weather
模塊,我得到一個callback
函數(它是天氣模塊的一個參數),用於打印命令行天氣在都靈。但它是如何工作的?
目前還不清楚你在問什麼。 'weather.js'的輸出是一個函數。您可以使用回調函數參數調用該函數。 –
「但是怎麼可能?」我認爲他真正的問題是「它是如何工作的?」。 –