拔钩是如何在羽毛上工作的



在feathersjs文档中,提供的解释如下:

pick将丢弃除指定字段之外的所有字段,从提交的数据或结果。如果数据是数组或分页查找结果钩子将删除每个项目

import _pluck from '../common/_pluck'; 
import checkContextIf from './check-context-if'; 
import getItems from './get-items'; 
import replaceItems from './replace-items'; 
export default function (...fieldNames) { 
return context => { 
checkContextIf(context, 'before', ['create', 'update', 'patch'], 'pluck'); 
if(context.params.provider) { 
replaceItems(context, _pluck(getItems(context), fieldNames)); 
} 
return context; 
}; 
} 

getItems实用程序返回hook.data或hook.result取决于钩子是用作before还是钩后。返回hook.result.data或hook.result进行查找方法

返回的项总是一个数组,以简化进一步的处理。

replaceItems实用程序与getItems相反,返回物品的来源。

我的问题与checkContextIf函数有关。此函数可防止在创建、更新和修补方法之前调用pull-hook。那么,pick-hook是如何处理查询结果的呢。结果不是在服务调用之后产生并在后挂钩中处理的吗?

如文档所述:

getItems实用程序返回hook.data或hook.result中的项,具体取决于钩子是用作before还是after钩子。

hook.data是与创建、修补或更新请求一起发送的数据(主体),因此可以使用它来省略不希望保存到数据库的字段。这也记录在挂钩API:中

  • data-请求数据(用于createupdatepatch)

相关内容

  • 没有找到相关文章

最新更新