0

所以我前段时间一直在 Treehouse 进行这个练习,然后继续前进。现在我又回到了它,因为我对事情有了更好的理解,而且我仍在与 wunderground api 作斗争。我已经通读了 json 数据和文档,从第一次记录类时更新了一些内容(并且从那时起更新了 API),但仍然遇到我无法解决的错误。我有三个 js 文件——app.js、weather.js 和 api.json(这只是我的 api 密钥,所以这里不共享。)

在我更正之后,我仍然收到错误“TypeError:无法读取未定义的属性'temp_f'”,这没有意义,因为我继续阅读 JSON 以检查它是否指向正确的位置。

谁能结束我试图解决这个问题的痛苦?

应用程序.js:

const weather = require('./weather');
//Join multiple values passed as arguments and replace all spaces with underscores
const query = process.argv.slice(2).join("_").replace(' ', '_');
//query: 90201
//query: Cleveland_OH
//query: London_England
weather.get(query);

天气.js

const https = require('https');
const http = require('http');
const api = require('./api.json');

// Print out temp details
function printWeather(weather) {
  const message = `Current temp in ${weather.location} is ${weather.current_observation.temp_f}F`;
  console.log(message);
}

// Print out error message

function get(query) {
    const request = http.get(`http://api.wunderground.com/api/${api.key}/conditions/q/${query}.json`, response => {
   
      
        let body = "";
        // Read the data
        response.on('data', chunk => {
            body += chunk;
        });
        response.on('end', () => {
            //Parse data
            const weather = JSON.parse(body);
            //Print the data
            printWeather(weather);
        });
    });
}

module.exports.get = get;

//TODO: Handle any errors

4

0 回答 0