React native 如何在Fetch承诺链之外获取响应数据?

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

我正在使用fetchApi从我的API获取数据。 在我的RequestHelpers.js中,我执行以下代码

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