承诺未决,promisestatus =已解决?

问题描述 投票:0回答:1

我试图访问fetch的结果(这里是'body')但是仍然得到这个:

Promise {<pending>} proto:Promise [[PromiseStatus]]:“resolved”[[PromiseValue]]:Array(100)

它说接收但不仅仅是给我我想要的阵列。

这是我的代码

    let Categories =  fetch('http://localhost:3001/categories?' )
                 .then((response) => {
                  var data = response.json();

                 return data;


               }).then((body) => {
                    console.log("fetching categories...")
                    console.log(body.categories)

                 return body.categories
               })


    console.log(Categories)
    export default Categories

上面的结果来自console.log(Categories)

javascript reactjs promise fetch
1个回答
3
投票

Categories仍然是一个承诺。您必须在导入它的地方调用.then,您将在参数中收到body.categories。

编辑:评论的其他信息(我不能很好地格式化)。

它是异步的,所以它不能转到Redux商店的initialState。你应该:

  • 制作一个获取此数据的动作创建者
  • 在获取数据时,使用此数据调度一个动作,例如: { type: 'CATEGORIES_LOAD', data: data }
  • 制作一个更新这个商店的reducer

并在您的组件安装时执行此操作创建器,例如componentWillMount,如果你也使用React。

© www.soinside.com 2019 - 2024. All rights reserved.