버전 7의 Node.js에는 약속을 처리하기위한 비동기 / 대기 구문 설탕이 있으며 이제 내 코드에서 다음 경고가 자주 발생합니다.
(node:11057) UnhandledPromiseRejectionWarning: Unhandled promise
rejection (rejection id: 1): ReferenceError: Error: Can't set headers
after they are sent.
(node:11057) DeprecationWarning: Unhandled promise rejections are
deprecated. In the future, promise rejections that are not handled
will terminate the Node.js process with a non-zero exit code.
불행히도 캐치가 누락 된 라인에 대한 참조는 없습니다. 모든 try / catch 블록을 확인하지 않고 찾을 수있는 방법이 있습니까?
Bluebird promise 라이브러리를 사용할 수 있으며 스택 추적을 제공 할 수 있습니다.
—
jfriend00
이전의 두 의견이 도움이되지 않으면
—
Jaromanda X
Can't set headers after they are sent.
코드에서 발생할 수있는 단서를 제공해야합니다 (예 : 비동기 코드를 이해하지 못했기 때문에 헤더가 이미 전송 된 후 헤더를 설정하는 곳) , 그러나 그것은 추측입니다)
안녕하세요, 메시지는 코드에서 버그의 위치를 찾는 데 도움이되지만 라인을 아는 것만 큼 쉽지는 않습니다.
—
user1658162
@ jfriend00 비동기 함수에 오류가 발생하는 상황으로 나타났습니다. 비동기 함수에 대한 내부 노드 약속은 블루 버드를 사용하지 않으므로 해당 시나리오에서 블루 버드가 도움이되지 않습니다.
—
Adam Reis