inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

Promise, async/await

비동기 에러처리 질문

172

노른자

작성한 질문수 81

0

제로초님
비동기 관련하여 질문이 있습니다

현재 FCM 푸시알림을 보내줄때

try{

await admin.messaging().send(msg);

}catch(err){

console.log(err);

}

이런식으로 await을 만들어서 동기적으로 에러처리를 해주고있었는데,

아무래도 서버 cpu가 한번씩 100 위로 튀는 이유가 이것을 await으로 처리해줘서 밀려있던 작업들이 봇물터지는 쏟아져서 그런거라고 생각하여

await을 빼줬습니다.

생각해보니 이렇게되면 try catch는 동기에러만 잡아주니

뒤늦게 들어오는 에러는 잡아주지 못한다고 생각했는데,

에러를 잡아주지 못하나요??

그리고 맞다면 푸시알림에서 에러 발생시에 잡아주지 못하니까 서버 프로세스가 종료되는건가요..?

 

만약 비동기적으로 빠르게 에러 처리를 하고싶다면

then().catch()를 써야하는건지 궁금합니다.

Sequelize mongodb mysql nodejs

답변 1

0

제로초(조현영)

await은 동기적으로 보이는것이지 동기처리가 아닙니다. await은 다만 에러 처리를 try catch로 해야하는 것이고요. cpu가 100%가 되는 이유랑 크게 상관없을것 같아 보입니다. await을 뺀 경우에는 then catch로 에러처리를 하셔야합니다. 단순히 await try catch가 then catch로 바뀐 것이라 다른 로직이 없다면 별 차이가 없어야합니다.

리눅스 노드 설치시 패키지

0

172

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

926

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2297

2

a[title] 질문드립니다

0

386

1

리뉴얼 강의 및 공부 방법

0

589

1

jwt decode

0

1137

1

node.js 교과서 3판 질문드립니다

0

396

1

passport와 jwt

0

438

1

리뉴얼 강의

0

427

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

359

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

488

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

511

2

nunjucks res.render('error'); 작동을 안합니다.

0

518

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3543

1

수업자료는 어디있나요?

0

374

1

질문 있습니디

0

244

1

multer 사용시 file 외 name값은 못받나용?

0

429

1

코드 중복 부분 질문드립니다.

0

303

1

api 만드는 이유 질문드립니다.

0

292

1

Strategy의 done에 대해 질문드립니다.

0

373

1

안녕하세요 fs 권한 관련 질문드립니다

0

455

1

시퀄라이즈 연결질문...

0

510

2

res.setHeader vs res.cookie

0

1797

3