>  기사  >  웹 프론트엔드  >  JavaScript의 비동기 생성기 함수에서 오류를 발생시키는 방법은 무엇입니까?

JavaScript의 비동기 생성기 함수에서 오류를 발생시키는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-08-29 08:49:021104검색

如何在 JavaScript 中的异步生成器函数中引发错误?

코드에서는 종종 오류가 발생하므로 오류 처리가 더 중요합니다. JavaScript에서는 사용자가 "throw" 키워드를 사용하여 사용자 정의 오류를 발생시킬 수도 있습니다. catch 블록에서 오류를 잡을 수 있습니다.

try-catch 구문을 사용하여 일반 함수에서 발생하는 오류를 잡을 수 있습니다. 다음 예를 통해 이해해 보자.

예제 1(일반 함수에서 오류 발생)

아래 예에서는 throw 키워드를 사용하여 사용자 정의 오류 메시지와 함께 오류를 던지는 throwError() 일반 함수를 만들었습니다. try 블록 내부에서 함수를 실행했습니다. 함수에서 오류가 발생하면 제어는 catch 블록으로 이동하며 이것이 오류를 감지하는 방법입니다.

으아아아

throwError() 함수를 비동기로 만들면 try-catch 블록을 사용하여 동기 함수에서 발생하는 오류를 처리할 수 있으므로 또 다른 오류가 발생합니다.

이 문제를 해결하려면 사용자는 then-catch 블록 구문을 사용하여 Promise를 해결해야 합니다.

문법

사용자는 다음 구문을 따라 비동기 함수에서 발생하는 오류를 해결할 수 있습니다.

으아아아

위 구문에서 throwError()는 Promise를 반환하는 함수이며, 이 문제를 해결하기 위해 then 및 catch 블록을 사용합니다.

예 2(비동기 함수에서 오류가 발생함)

아래 예에서 throwError() 함수는 function 키워드 앞에 "async" 키워드를 추가했기 때문에 비동기 함수입니다. 일반 함수에서와 마찬가지로 비동기 함수에서도 오류가 발생했습니다.

이후에는 then 및 catch 블록을 사용하여 Promise를 처리합니다. 출력에서 사용자는 비동기 함수에서 오류가 발생하면 제어가 catch 블록으로 이동하는 것을 관찰할 수 있습니다.

으아아아

예 3(비동기 함수에서 Promise를 거부하여 오류 발생)

비동기 함수에서 Promise를 반환할 수 있습니다. 비동기 함수에서 Promise를 거부하는 것은 오류를 발생시키는 것과 같습니다. Promise를 거부하기 위해 콜백 함수의 accept() 메소드를 사용합니다.

'then-catch' 블록은 함수에서 반환된 Promise를 해결하는 데 사용되며 사용자는 컨트롤이 catch 블록으로 이동하는 것을 볼 수 있습니다.

으아아아

사용자는 비동기 함수에서 오류를 발생시키는 방법을 배웠습니다. 사용자는 "throw" 키워드를 사용하여 일반 함수처럼 오류를 던질 수 있습니다. 비동기 함수는 try-catch 블록을 사용하는 대신 Promise를 반환하므로 사용자는 "then-catch" 블록을 사용하여 오류를 처리해야 합니다.

위 내용은 JavaScript의 비동기 생성기 함수에서 오류를 발생시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제