я создать короткий пример и у меня есть 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' является функцией. Вы вызываете эту функцию с помощью параметра функции обратного вызова. –
«Но как это возможно?» Я думаю, что его реальный вопрос: «Как это работает?». –