gpt4 book ai didi

node.js - 如何使新的elasticsearch node.js客户端仅在promise中返回主体?

转载 作者:行者123 更新时间:2023-12-02 23:44:52 27 4
gpt4 key购买 nike

“API调用的返回值将不再是回调的主体,statusCode和 header ,而仅是 promise 的主体。新的返回值将是包含主体,statusCode, header ,警告和元数据的唯一对象,用于回调和 promise 。”

如果我将结果字符串化并存储在redis中,这将是一个问题(现在,当我从redis取回值时,我将需要进行JSON解析)。无论如何,我是否可以在promises上启用“仅 body ”模式?

最佳答案

作为解决方法,您可以覆盖/代理search() -instance的Client方法。因此,您可以使用以下方式定义代理:

function initializeSearchProxy(client) {
const origSearch = client.search;
client.search = async function () {
const {body} = await origSearch.apply(this, arguments);
return body;
}
}

然后在要求并实例化elasticsearch- Client后初始化您的search-proxy,
const {Client} = require('@elastic/elasticsearch');
const client = new Client({node: 'http://localhost:9200'});
initializeSearchProxy(client);
...
// all client.search calls now return the body directly

关于node.js - 如何使新的elasticsearch node.js客户端仅在promise中返回主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62086704/

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