이 글은 제너레이터 기능과 비동기 기능의 차이점을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Generator 함수:
Generator 함수는 ES2015에서 제공하는 비동기 솔루션으로 일반 함수와는 매우 다릅니다.
1 function 키워드 뒤에는 (*) 기호가 옵니다. 2. 함수 본문 내에서 항복 표현식을 상태로 사용합니다.
생성기 함수는 순회자를 반환하고 각 상태는 for...of 메서드를 통해 탐색할 수 있습니다.
사용법:
생성기를 실행하고 그렇지 않습니다. 즉시 실행하지만 Traverser를 반환하면 순회자는 다음 상태를 실행하고 오류를 캡처하거나 next(), throw() 또는 return()을 호출하여 순회자를 종료합니다.
async 함수:async 함수는 비동기식입니다. ES2017에서 제공하는 함수 구문은 생성기의 구문이지만 사용법은 여전히 생성기 함수와 매우 다릅니다. 1. 함수 키워드 앞에 async 키워드를 사용하세요.
비동기 함수는 약속 개체를 반환합니다.
사용법:
비동기 함수 실행은 일반 함수와 마찬가지로 즉시 실행되지만 약속 개체를 반환합니다. 두 가지:
1. Generator는 ES2017에 나타나고 async는 Generator의 구문 설탕입니다. 2 Generator 실행에는 실행기(next() 및 기타 메소드)가 필요합니다. ); 비동기 함수에는 일반 함수의 실행과 동일한 자체 실행기가 있습니다.3. 비동기의 구문과 의미는 더 명확하며 대기는 (*) 숫자를 의미합니다. Generator 함수의 Yield는 그리 직접적이지 않습니다. 4. Generator의 Yield 뒤에는 Thunk 함수 또는 Promise 개체만 올 수 있고 비동기 함수의 Wait 뒤에는 Promise 개체 또는 기본 유형 값이 올 수 있습니다. 즉시 해결되는 Promise 객체로 자동 변환됩니다.
5. Generator는 Promise 객체를 반환하는 비동기에 비해 순회자를 반환합니다.
【관련 추천:JavaScript 비디오 튜토리얼
】위 내용은 제너레이터 함수와 비동기 함수의 차이점 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!