썽크
썽크 임시 기능에 그 인수, 함수에 전달 기능과 다음이 임시 몸 이름으로 호출합니다.
함수 ( m ) { 리턴 분 * 2 ; } |
x는 주요 기능, 일반적인 함수형 프로그래밍 아이디어를 전달 호출하는 정말 필요한 경우에만로, 임시 기능을 넣어 매개 변수입니다.
JS에서 썽크 함수 교체 식 아니지만 다중 파라미터 함수는, 단일 파라미터 버전으로 대체되고, 단 수락 인수로 콜백 함수를 본질적 기능 무두질 .
기능 썽크 ( FN ) { 반환 기능 ( |
단지별로 사용을 썽크, 그것은 프로세스 관리를위한 조합 생성기가 필요합니다.
발전기
발전기의 기능은 우리가 실행의 올바른 순서를 보장하기 위해,이 반복자 수동 상관 값, 상태를 통과 사용할 수 반복자 반복자 객체를 반환합니다. 다음 방법으로 발전기 기능.
다음의 함수에 의해, 대응하는 식으로 수행 될 수있다 수득하고, 다음의 () 함수는 또한식이 항복 값을 반환로 사용할 수있는 파라미터를 취할 수 있으며, 수율은 어떠한 리턴 값 자체가 없기 때문에 ) (다음 있지 않으면 리턴 값이 정의되지의 파라미터, 각 작업의 수율은
함수 * 겐 () { // ... } |
발전기 편지 큰 열 썽크 기능과 발전기 기능 수는 단순히 정상적인 상황에서, 우리는 발전기 비동기 작업에 적합하지 않습니다 너무 () 실행 다음을 실행하는 데 주도권을 취할 필요, 반복 내부 개체에 대한 포인터를 반환합니다.
yield
키 생성 함수의 실행은, 현탁yield
키워드 발생기로 호출자에게 반환 한 후 식의 값. 그것은의 발전기 기반 버전 간주 될 수 있습니다return
키워드.yield
키워드는 실제 돌려IteratorResult
두 가지 속성이 객체를,value
하고done
.value
속성은yield
발현 평가 결과 및done
되어false
완전히 완료되지 않은 발전기 기능을 도시.발전기는 임의 값으로 전달되는 경우
next()
에있어서, 상기 발전기의 현재 값이된다yield
동작에 의해 반환 된 값
자동 프로세스 관리 기능을 썽크
수 진짜 힘의 썽크 기능, 자동 생성기 기능을 실행
기능의 실행 ( FN가 ) { 했다 유전자 = FN (); |
함수 발생기 다음 단계 (gen.next 법)에 제 다음 함수 포인터하고 완료되지 않은 경우 썽크 함수 (result.value 속성을 재 주입, (result.done 특성) 다음 함수를 함수 발생기를 종료할지 여부를 판단 ), 그렇지 않으면 종료