如上所述,我想导出包含来自api的一些数据的数组,但这里有一个东西,在运行fetch之前导出所以数组为空以便导出。我尝试超时导出但不工作。那我该怎么办呢? 谢谢 ! 这是我的代码:
const arr = [];
fetch(base, {
method: 'GET',
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json',
}
})
.then(response => { response.json()}).then(json => {
arr.push(json);
})
export default arr // show empty
最后,我按照自己的方式得到了它,所以我为那些和我一样坚持的人解释。 这就是,导出函数返回promise并使用promise函数内部的回调并推送我们需要从import promise做的任何数组。
答案 0 :(得分:2)
尝试在response.json()之前添加return关键字。我认为发生的事情是你的第一个.then没有返回promise *,这意味着第二个。然后接收undefined作为json参数。
*见下面的评论; 返回一个promise,但它解析为undefined