繁体   English   中英

节点JS返回未定义的API调用

[英]Node JS returning undefined for an API call

我正在使用开放式天气API,对于风速,它返回的是未定义的,但是其他两个(时间和温度)都可以正常工作。

var request = require('request');
var yargs = require('yargs');
var fs = require ('fs');
var forecasts = require('./forecast.json');
var args = yargs.argv;

var url = 'http://api.openweathermap.org/data/2.5/forecast?q=erie,pa&APPID=a0472e6063198c88952f86f836355ae1&units=imperial';

request({url: url, json: true},function(error,response,body){
var time = 0;
body.list.forEach(function(measurement){
    var forecast = {Wind_Speed: measurement.main.wind, time: time, temp: measurement.main.temp};

    forecasts.push(forecast);
    time = time + 3

    console.log(forecast)
})
fs.writeFile('forecast.json',JSON.stringify(forecasts))
})

我刚刚检查了API,看来风不在主要对象下,您应该直接从测量中获取它:

var forecast = {
   Wind_Speed: measurement.wind.speed, 
   time: time, 
   temp: measurement.main.temp
};

格式化的API响应:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM