gpt4 book ai didi

Azure Cosmos db 和函数 javascript sdk - 如何异步读取文档?

转载 作者:行者123 更新时间:2023-12-03 04:49:59 27 4
gpt4 key购买 nike

我在 apollo 解析器中有以下代码:

Mutation: {
addChannel: (root, args) => {
client.readDocument("website", {}, (x) => {
return { id: "Test", name: "Test Channel " + args.name }
});
},

其中客户端是文档客户端:

var DocumentClient = require('documentdb').DocumentClient;

当它被调用时,我想等待 client.readDocument 完成并给我一个我将返回的返回值(上面的示例非常简单,不会这样做)

我遇到的问题是 readDocument 在后台异步执行某些操作,但该函数不同步,因此我无法等待它,因此该函数在回调有机会完成之前立即失败。返回数据发送后(未定义),回调函数 (x)=>{...} 发生..

最佳答案

我在这里可以想到三个解决方案(使用哪一个将取决于您的具体情况):

  1. Cosmos DB API v2 具有异步/等待支持,因此您可以使用它来代替回调。
  2. 将回调代码封装在 Promise 中并等待 Promise。
  3. 使用非异步 Azure Function 并在回调结束时通过 context.done(result) 返回结果。

关于Azure Cosmos db 和函数 javascript sdk - 如何异步读取文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53634065/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com