2016-06-20 5 views
1

이 차이가 중요합니까? 그것은이다 :Iterator v.s. iteratee

  • 반복자 = 내가 async의 문서 및보고를 통해 읽고 있어요

을 통해
  • iteratee는 실제 데이터 구조를 =이 반복되는 데이터 구조의 세트 반복의 일부 추상화 "iteratee"의 사용. 좋아, 실제 반복을 수행하지 않으므로 반복자는 올바른 이름이 아닙니다. 그러나 위의 "iteratee"에 대한 나의 이해에서 보면, iteratee = 내 마음 속의 데이터 구조 - 반복자를 수행하는 함수 인 iteratore도있다.

    async의 iteratee에 익숙하지 않은 경우 : iteratee : 2 개의 인수, 반복되는 컬렉션의 다음 값, 오류 값과 결과 값을 취하는 함수를 사용하는 함수입니다. iteratee에서 비동기 (무 동기)를 수행 한 다음 오류 또는 결과와 함께 두 번째 인수 (함수 (err, result))를 호출해야합니다.

    (이후 iteratee와는 별도로 매개 변수로 다른 콜백을 제공하여지도, 필터 등 ...) 모든 초기 컬렉션의 iteratee에서 비동기 op를 호출 한 결과를 처리합니다. 집단).

    그냥 궁금 해서요 : "iteratee"가이 이름입니까?

  • 답변

    2

    반복기는 iteratee (이 경우 콜백)를 호출합니다. 비동기에서는 대부분 iteratee가 완료를 나타 내기 위해 콜백을 전달하므로 iteratee를 콜백으로 명명하면 혼란 스러울 것입니다.

    여기 배경은 async.js issue where this was discussed이며, 반복기 콜백을 lodash와 밑줄로 지정하는 방법이기도합니다. 이 underscore thread은 세 라이브러리의 변경 사항의 기초입니다.