node.js - 如何使新的 elasticsearch node.js 客户端仅在承诺中返回正文?
问题描述
“API 调用的返回值将不再是回调的主体、状态代码和标头,而只有承诺的主体。新的返回值将是一个包含主体、状态代码、标头、警告和元数据的唯一对象, 对于回调和承诺。"
如果我对结果进行字符串化并将结果存储在 redis 中,这是一个问题(现在,当我从 redis 取回值时,我需要进行 JSON 解析)。无论如何我可以在承诺上打开“仅限正文”模式吗?
解决方案
不幸的是,没有。没有办法只接受身体。正如你所提到的,这将是回应,
{
body: object | boolean
statusCode: number
headers: object
warnings: [string]
meta: object
}
最好在将响应存储到 Redis 之前做到这一点,您可以像这样存储它,
const {body} = await client.search({
index: 'my-index',
body: { foo: 'bar' }
})
// Now you can store the body in Redis
或者当你从 Redis 获取响应对象时,你可以这样做,
const {body}=JSON.parse(fetchFromRedis(id));
推荐阅读
- android - 收到“无法拨打电话
. 尝试使用其他呼叫重定向应用程序或联系开发人员寻求帮助。”同时拨打号码 - c# - WCF 在尝试使用 netTcp 绑定访问 http://w3.org/2005/08/addressing/anonymous 时超时
- r - 在R中将符号表达式作为函数的参数传递
- python - builtins.pyi Python 3.9.1 中的语法错误
- javascript - 检查数据是否在 json 对象中可用
- azure-devops - 如何通过 DevOps API 获取特定存储库的 Azure DevOps 版本?
- ibm-cloud - IBM Terraform 提供程序的问题:ibm_service_instance
- hibernate - Hibernate:自引用,但具有附加信息和两个方向
- powershell - 我们如何交换通过 | 分隔数据的文本文件中的列?
- r - 我可以将 dplyr 输出作为值,而不是作为数据框吗?