에서 후크 작업 수행 방법 :뽑은 feathersjs 다음과 같이 제공되는 설명이있는 feathersjs 워드 프로세서에서
뽑는다 지정된 것을 제외한 모든 필드를 삭제, 중 에서 데이터 제출 또는 결과에서합니다. 데이터가 배열이거나 페이지 매김 된 결과 인 경우 각 항목에 대한 필드가 제거됩니다.
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 또는 후크 전 또는 후에 훅 A와 사용 여부에 따라 hook.result 하나의 항목을 리턴
. find 메서드에 대해 hook.result.data 또는 hook.result가 반환됩니다.반환 된 항목은 추가 처리를 단순화하기 위해 항상 배열입니다.
replaceItems 유틸리티는 getItems와 반대이며, 출처가있는 항목 을 반환합니다.
제 질문은 checkContextIf 함수와 관련이 있습니다. 이 함수는 생성, 업데이트 및 패치 메서드를 제외하고는 뽑기 훅이 호출되지 않도록합니다. 그렇다면 pluck hook은 쿼리 결과에 어떻게 작용 하는가? 서비스 호출 후 결과가 생성되고 애프터 훅으로 처리되지 않습니까? 문서 상태로
감사 (
create
,update
및patch
에 대한). checkContextIf 함수가 에러를 발생시킬 것이라는 것을 이해하고 있기 때문에 pluck hook은 애프터 훅으로 사용할 수 없다고 말하는 것이 맞습니까? 또는 beforeContext 인 경우 checkContextIf 함수가 생성, 업데이트 및 패치 메서드에만 사용해야한다고 말하는 checkContextIf 함수입니까? – AlokJoshiOfAarmaxhttps://github.com/feathers-plus/feathers-hooks-common에서 문제를 제출하십시오. 당신은 맞습니다. 두 경우 모두 작동해야합니다 (그러나 그렇지 않은 것 같습니다). – Daff
불행히도, 어떻게 해야할지 모르겠다. – AlokJoshiOfAarmax