Axios 返回承诺不会破坏数据与 zustand 反应

问题描述

我目前正在尝试让 axios 在 react hooks 应用程序中运行。基本的 get 请求工作正常并提供了预期的结果,但问题来了:

我正在使用“zustand”进行应用程序状态管理,并建立了一个中央 backendService.js,我在其中声明了我的异步 axios 函数“getHome()”。 console.log(response.data);打印预期数据。

export const [useBackendStore,backendApi] = create((set,get) => ({
 env: environments.local,//is declared above
 home: null,getHome: async () => {
  return axios({ method: 'get',url: get().env + '/home/clean' })
  .then(response => {
    set({ home: response.data });
    console.log(response.data);
    return response.data;
  })
  .catch(error => {
    console.log(error);
  });

},

我现在想从另一个文件调用 getHome 函数并首先记录结果。

  const data = backendApi.getState().getHome();
  console.log(data);

现在我不明白的部分:console.log 给了我这个

  Promise {<pending>}
  __proto__: Promise
  [[PromiseState]]: "fulfilled"
  [[PromiseResult]]: Object

PromiseResult 有预期的对象,但我不知道如何访问它。

我对后端开发还很陌生,所以如果我犯了任何明显的错误,请原谅我:) 感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...