getMoviesFromApiAsync() {
return fetch('http://facebook.github.io/react-native/movies.json') .then((response) => response.json()) .then((responseJson) => { return responseJson.movies; }) .catch((error) => { console.error(error); }); }
你也可以在React Native應用中使用ES7標准中的async
/await
語法:
// 注意這個方法前面有async關鍵字 async getMoviesFromApi() { try { // 注意這里的await語句,其所在的函數必須有async關鍵字聲明 let response = await fetch('http://facebook.github.io/react-native/movies.json'); let responseJson = await response.json(); return responseJson.movies; } catch(error) { console.error(error); } }
別忘了catch住fetch
可能拋出的異常,否則出錯時你可能看不到任何提示。
默認情況下,iOS會阻止所有非HTTPS的請求。如果你請求的接口是http協議,那么首先需要添加一個App Transport Securty的例外,詳細可參考這篇帖子。