Tôi đang cố gắng tìm ra nguồn từ chối chưa được xử lý từ Lời hứa trong Node.js
Tôi đã thử nâng cấp lên Node phiên bản 12, sử dụng --async-stack-traces
tùy chọn và lắng nghe họ bằng cách sử dụng:
process.on("unhandledRejection",( reason, promise ) => {
console.log(reason);
console.log(promise);
});
Nhưng tôi vẫn không thấy bất kỳ dấu vết ngăn xếp hữu ích nào để giúp tôi tìm ra thủ phạm!
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)
Chạy nút v10.10.0
const cyclic = Promise.resolve().then(()=>cyclic);
, vì vậy đừng tìm kiếm từ chối lời hứa chưa được xử lý, lỗi này nằm trong mã nội bộ của nút.
npm i bluebird
và thêm const Promise = require('bluebird')
mã có thể cung cấp cho bạn thông báo lỗi chi tiết hơn
--trace-warnings
từ chối chưa được xử lý đi kèm với các cảnh báo mà bạn có thể theo dõi