const rootURL = 'http://api.openweathermap.org/data/2.5/weather?APPID=????????';
function kelvinToC(temp) {
return temp - 273.15;
}
export function getWeather(latitude, longitude) {
const url = `${rootURL}&lat=${latitude}&lon=${longitude}`;
return fetch(url).then(res => res.json()).then(json => {
city: json.name,
-> temperature: kelvinToC(json.main.temp), // This is line 11
description: json.weather.description,
});
}
错误显然是在11:15,缺少分号。这使分号位于单词温度的中间。我究竟做错了什么?
注意:我故意清空了我的api密钥。实际代码中包含api密钥。
错误讯息: 语法错误/Users/shavaunmacarthur/Documents/react-native-workspace/weather/src/api.js:意外的令牌,预期; (11:15)
答案 0 :(得分:3)
我建议在返回对象周围添加括号:
getWeather(latitude, longitude) {
const url = `${rootURL}&lat=${latitude}&lon=${longitude}`;
return fetch(url).then(res => res.json()).then(json => ({
// ^
city: json.name,
temperature: kelvinToC(json.main.temp),
description: json.weather.description
// ^ optional no comma
}));
// ^
}
发生错误,而解析器认为你有一个代码块。这不是预期的,因为您想要返回一个对象。要返回一个对象,您需要
a => {
return { object: true };
}
或
a => ({ object: true })
不以代码块开头。