2017-11-12 10 views
0

에서 후크 작업 수행 방법 :뽑은 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은 쿼리 결과에 어떻게 작용 하는가? 서비스 호출 후 결과가 생성되고 애프터 훅으로 처리되지 않습니까? 문서 상태로

답변

0

:

getItems 유틸리티의 항목을 반환하거나 hook.data 또는 후크 전이나 후크 이후로 사용되고 여부에 따라 hook.result.

hook.data는이 데이터베이스에 저장하지 않으려는 필드를 생략하는 데 사용할 수 있도록 create, patch 또는 update 요청과 함께 전송되는 데이터 (몸)입니다. 이 또한 hooks API에 설명되어 있습니다 :

  • data - 요청 데이터를
+0

감사 (create, updatepatch에 대한). checkContextIf 함수가 에러를 발생시킬 것이라는 것을 이해하고 있기 때문에 pluck hook은 애프터 훅으로 사용할 수 없다고 말하는 것이 맞습니까? 또는 beforeContext 인 경우 checkContextIf 함수가 생성, 업데이트 및 패치 메서드에만 사용해야한다고 말하는 checkContextIf 함수입니까? – AlokJoshiOfAarmax

+0

https://github.com/feathers-plus/feathers-hooks-common에서 문제를 제출하십시오. 당신은 맞습니다. 두 경우 모두 작동해야합니다 (그러나 그렇지 않은 것 같습니다). – Daff

+0

불행히도, 어떻게 해야할지 모르겠다. – AlokJoshiOfAarmax