React native 如何在Fetch承诺链之外获取响应数据?
我正在使用fetchApi从我的API获取数据。 在我的RequestHelpers.js中,我执行以下代码React native 如何在Fetch承诺链之外获取响应数据?,react-native,promise,es6-promise,fetch-api,React Native,Promise,Es6 Promise,Fetch Api,我正在使用fetchApi从我的API获取数据。 在我的RequestHelpers.js中,我执行以下代码 module.exports={ fetchQuizCollection(){ 返回获取(主机+API_键) .then((response)=>response.json()) .然后((响应数据)=>{ 让gameData=responseData console.log(responseData)//它可以工作 返回响应数据 }) .完成(); } }您将异步代码视为同步代码。f
module.exports={
fetchQuizCollection(){
返回获取(主机+API_键)
.then((response)=>response.json())
.然后((响应数据)=>{
让gameData=responseData
console.log(responseData)//它可以工作
返回响应数据
})
.完成();
}
}
您将异步代码视为同步代码。fetchQuizCollection()
是异步的,因此它返回的数据在日志代码运行时不可用。您必须等待所有.fetch()
函数完成
只需让fetchQuizCollection()
通过添加另一个return
返回一个承诺,如下所示
return fetchQuizCollection(){
return fetch(HOST+API_KEY)
.then((response) => response.json())
...
您可以在.then()
函数中访问samplequick
let sampleQuiz = RequestHelpers.fetchQuizCollection()
.then((sampleQuiz) => {
console.log(sampleQuiz);
});