Async/Await를 사용하여 Try...Catch Blocks에 대한 올바른 구문
TypeScript에서 편리한 Async/Await 기능을 사용할 때 문제가 발생합니다. 응답을 기다릴 때 변수 선언과 관련하여 발생합니다. 전통적으로 아래와 같이 나중에 사용하려면 try...catch 블록 외부에서 선언해야 합니다.
let createdUser; try { createdUser = await this.User.create(userInfo); } catch (error) { console.error(error); } console.log(createdUser);
try 블록 내에 비즈니스 로직을 배치하지 않는 것이 가장 좋습니다. . 그러나 권장되는 접근 방식을 사용하려면 블록 외부에서 기다리고 있는 변수를 선언해야 하므로 번거로울 수 있습니다.
오류 처리 모범 사례
실제로 다음을 수행하는 것이 모범 사례로 간주됩니다. 값에서 발생하는 모든 예외가 포착되도록 하기 위해 try 본문 내에 여러 줄의 비즈니스 논리를 배치하지 마십시오. 보다 포괄적인 접근 방식은 다음과 같습니다.
try { const createdUser = await this.User.create(userInfo); console.log(createdUser); // Business logic goes here } catch (error) { console.error(error); // Exception from creation or business logic }
선택적 오류 처리를 위한 대안
다음에서 발생하는 오류만 포착하고 처리하려는 경우 세 가지 대안이 있습니다. promise:
let createdUser; // Or use 'var' inside the block try { createdUser = await this.User.create(userInfo); } catch (error) { console.error(error); // Exception from creation } if (createdUser) { // User was created successfully console.log(createdUser); // Business logic goes here }
try { const createdUser = await this.User.create(userInfo); console.log(createdUser); // Business logic goes here } catch (error) { if (error instanceof CreationError) { console.error(error); // Exception from creation } else { throw error; } }
await this.User.create(userInfo).then(createdUser => { // User was created successfully console.log(createdUser); // Business logic goes here }, error => { console.error(error); // Exception from creation });
위 내용은 TypeScript에서 Async/Await Try...Catch 블록의 오류를 가장 잘 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!