Node.js의 Promise에서 처리되지 않은 거부 소스를 찾으려고합니다.
--async-stack-traces
옵션을 사용하여 노드 버전 12로 업그레이드 하고 다음을 사용하여 청취했습니다.
process.on("unhandledRejection",( reason, promise ) => {
console.log(reason);
console.log(promise);
});
그러나 여전히 범인을 찾는 데 도움이되는 유용한 스택 추적이 표시되지 않습니다!
UnhandledPromiseRejectionWarning: TypeError: Chaining cycle detected for promise #<Promise>
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:89675) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 11)
노드 v10.10.0 실행
여러 약속이 있습니까?
—
Prabhjot Singh Kainth
의 오류 당신의 당신이 것 같은 코드는, 순환 체인이다
—
Kaiido
const cyclic = Promise.resolve().then(()=>cyclic);
, 그래서 처리되지 않은 약속 거부를 검색하지 않습니다이 하나의 노드의 내부 코드에있다.
문제를 제기하는 일부 코드가 도움이 될 것입니다.
—
x00
실행
—
n3ko
npm i bluebird
및 추가 const Promise = require('bluebird')
코드에 당신에게 더 자세한 오류 메시지를 제공 할 수 있습니다
와 노드를 실행하려고
—
카렌 Grigoryan
--trace-warnings
, 처리되지 않은 거부하면 추적 할 수 있다는 경고와 함께 동반