我知道其他人問過這個問題,我需要使用回調函數,但我不太確定如何將它們與我的代碼集成。在node.js中等待HTTP請求
我使用node.js和express來製作一個網站,並且在頁面加載時我希望網站去抓住天氣,等待響應,然後用它加載頁面。
我 'WeatherApp' 代碼如下:
const config = require('./config');
const request = require('request');
function capitalizeFirstLetter(string) {
\t return string.charAt(0).toUpperCase() + string.slice(1);
}
module.exports = {
\t getWeather: function() {
\t \t request(config.weatherdomain, function(err, response, body) {
\t \t \t if (err) {
\t \t \t \t console.log('error:', error);
\t \t \t } else {
\t \t \t \t let weather = JSON.parse(body);
\t \t \t \t let returnString = {
\t \t \t \t \t temperature: Math.round(weather.main.temp),
\t \t \t \t \t type: weather.weather[0].description
\t \t \t \t }
\t \t \t \t return JSON.stringify(returnString);
}
\t \t });
\t }
}
而且我的頁面當前路由:
router.get('/', function(req, res, next) {
\t var weather;
\t weather = weatherApp.getWeather();
\t res.render('index', {
\t \t title: 'Home',
\t \t data: weather
\t });
});
非常感謝! :) –
Np。樂意效勞。 –