【问题标题】:Graphql is returning the promise and not my DynamoDB dataGraphql 正在返回承诺,而不是我的 DynamoDB 数据
【发布时间】:2025-12-02 20:00:01
【问题描述】:

我正在使用 Graphql API 来访问我的 DynamoDB 数据库。然后我试图在我的应用程序中呈现用户列表。根据我应该使用的文档:

import * as queries from './graphql/queries';

const users = await API.graphql({ query: queries.listUsers });
console.log(users);

但是,我收到关于 await 的错误。所以我删除了 await 关键字,但 const users = API.graphql({ query: queries.listUsers }); 返回了承诺。这是回应:

Promise {
  "_U": 0,
  "_V": 0,
  "_W": null,
  "_X": null,
}

我将我的代码放入异步函数并使用 await 关键字,但仍然只得到 promise。有没有一种方法可以简单地调用查询而无需等待并获得正确的 data 而不是 promise?我也一直在尝试使用 GraphQLResult 来获得实际结果,但这不起作用,我要么得到错误,要么仍然得到承诺。

【问题讨论】:

    标签: javascript node.js react-native graphql aws-amplify


    【解决方案1】:

    使用try catch 块来处理await 的错误 await 返回promise结果,但是去掉await后,它只是返回promise,你应该使用then catch来获取结果

    【讨论】:

    • 所以我创建了异步函数,当我执行 console.log(users) 时,我在 try 块中获取了用户数据,但是当我从 try 块返回用户并记录该数据时,我得到了再次承诺。如何返回数据?