2016-10-30 136 views
0
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)

+1

」錯誤顯然是在11:15,並且缺少分號。「 - 錯誤消息說的是什麼**? – Quentin

+0

不要包含錯誤(或代碼)*圖片*,包括**文本**。另外,告訴我們'11:15'是指什麼(只是指向第11行 - 我認爲你的代碼是完整的,但我們不知道,所以從頂部倒數可能不可靠)。 –

+0

我知道錯誤信息最初是丟失的,但爲什麼在添加之後downvote? (是的,它應該是文本,但是...)Shavan - 不要以錯誤的方式投票。你會知道下一次,這是**不是一個很差的問題。 (儘管問題已被回答 - 仍然值得編輯,以將錯誤消息顯示爲文本)。 –

回答

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 }) 

不啓動的代碼塊。 「

+0

謝謝。我由於某種原因錯過了這個。一定是太累了... – smmaca