Return Wait 사용을 방해하는 ESLint 규칙 no-return-await가 있음에도 불구하고 일부 개발자는 다음을 사용하는 것을 발견할 수 있습니다. 이 패턴. 심각한 성능 문제를 일으키지는 않지만 규칙 설명에는 return wait가 "중요한 Promise가 해결되거나 거부되기 전에 추가 시간"이 발생한다고 언급되어 있습니다.
그러나 MDN 문서의 "간단한 예"에서는 return 사용을 보여줍니다. 성능 문제를 암시하지 않고 기다리십시오. 이러한 불일치를 밝히기 위해 반환 대기의 실제 영향을 살펴보겠습니다.
본질적으로 반환 대기는 중복 작업입니다. Promise 해결 또는 거부는 이미 비동기 함수 내에서 발생하며, return wait는 값을 반환하기 전에 단순히 이를 다시 기다립니다. 이 추가 작업은 잠재적으로 최소한의 실행 시간을 추가할 수 있지만 성능에 눈에 띄는 영향을 미칠 가능성은 없습니다.
반환 대기가 의미 있는 차이를 만드는 한 가지 사례는 다음과 같습니다. 예외 처리:
try { ... return await ...; } ...
await를 사용할 때 비동기 함수 내의 거부는 예외를 트리거하여 catch 및 finally 핸들러가 실행되도록 합니다. 그러나 일반 반환은 단순히 try 블록을 종료하고 이러한 처리기를 건너뜁니다.
반환 대기는 일반적으로 성능 문제는 아니지만 좋지 않은 스타일로 간주되어 부족함을 나타낼 수 있습니다. 약속과 비동기/대기의 이해. 대부분의 경우 이는 불필요하므로 피해야 합니다. 그러나 오류 처리의 맥락에서 적절한 예외 전파를 위해서는 반환 대기가 필수적입니다.
위 내용은 '반품 대기'가 성능 병목 현상을 일으키나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!