【问题标题】:Prisma create/update without awaitPrisma 无需等待即可创建/更新
【发布时间】:2021-11-25 20:18:00
【问题描述】:

我正在为 Prisma 中的数据库操作编写自动化脚本。我使用 PostgreSQL 作为我的数据库。我注意到,每当我在数据库更新中省略“await”关键字时,它不会显示任何错误,但不会反映数据库更改。

// Does not work
prisma.model.create({
  data: {
    name: 'tai',
    schema: {
      abc: 8,
      def: 8,
    },
  }
})

但是一旦我使用“等待”,数据库就会更新。我浏览了文档,但没有任何运气。任何人都可以解释这种行为的目的。还有他们是如何实现它的。

// Works
await prisma.model.create({
  data: {
    name: 'tai',
    schema: {
      abc: 8,
      def: 8,
    },
  }
})

【问题讨论】:

    标签: node.js database postgresql asynchronous prisma


    【解决方案1】:

    发生这种情况是因为 Prisma 查询是 then-ables,这意味着它们仅在您调用 await.then().catch() 时执行。这称为惰性求值。这与立即开始执行的常规承诺不同。有一个关于此的 issue in the Prisma docs 存储库,您可以查看它以获取更多信息。

    如何实现:查看这个库:https://github.com/sindresorhus/p-lazy

    【讨论】:

    • 我会拥抱你,但我会因为新冠病毒而克制。
    • 哈哈,乐于助人。
    猜你喜欢
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2015-08-25
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多