【发布时间】:2018-09-13 12:07:39
【问题描述】:
我是 React-Redux 的新手。我正在对 json 文件进行 api 调用,并希望将此文件的内容作为数组返回。我对 Promises 的处理并不多,所以我对访问 Promise 的了解有点模糊。基本上,这就是我所拥有的:
const fetchData = () => {
return fetch('endpoint.json')
.then(results => results.json())
}
getProducts: (cb, timeout) => setTimeout(() => cb(fetchData().then(response => response)), timeout || TIMEOUT)
getProducts 当前返回以下内容,我可以在控制台中打开查看:
action {type: "RECEIVE_PRODUCTS", products: Promise}
products: Promise
__proto__ :Promise
[[PromiseStatus]] :"resolved"
[[PromiseValue]]: Array(3)
如何访问 PromiseValue?我需要直接获取JSON数组!
【问题讨论】:
-
再做一个
then -
getProducts 当前返回以下内容它不应该返回那个......它应该返回
setTimeout返回的......一个数字 -
response是你想要的 JSON - 它只会异步可用 - 与 Isaac 的建议相反,另一个.then不会改变任何东西......除非你在你的内部使用.then当然是回调。还有.then(response => response)是没有意义的,别用了
标签: javascript json reactjs react-native promise