gpt4 book ai didi

node.js - Sequelize.js afterFind 参数说明

转载 作者:搜寻专家 更新时间:2023-10-31 22:29:45 26 4
gpt4 key购买 nike

我正在尝试在模型上实现一个 afterFind Hook ,但不太清楚语义是什么。我将使用文档和其他 StackOverflow 问题作为指南,从反复试验中总结出以下内容。

我的目标是处理结果(通过应用 get(plain : true))并将转换后的值作为 promise 的结果传递。例如,我期望/希望它返回一个空结果集:

        hooks: {
afterFind: function(result, options, fn)
{
result = [];
}
},

但这只会导致请求挂起。文档说参数是通过引用传递的,不包括返回值。其他示例暗示类似:

        hooks: {
afterFind: function(result, options, fn)
{
result = [];
return fn(null, result);
}
},

它不会挂起,但不会更改我的结果集。更不用说,我不知道神奇的“fn”参数是什么/做什么。

最佳答案

我遇到了类似的问题。这是因为当您执行 findAll 时,传递给 Hook 的参数是值数组而不是单个对象。我这样做是为了解决问题 -

hooks: {
afterFind: function(result) {
if(result.constructor === Array) {
var arrayLength = result.length;
for (var i = 0; i < arrayLength; i++) {
result[i].logo = "works";
}
} else {
result.logo = "works";
}
return result;
}
}

在上面的代码中,我在找到记录后更改了记录的 Logo 属性。

关于node.js - Sequelize.js afterFind 参数说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33444015/

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