मैं Node.js में एक प्रॉमिस से अनहेल्ड रिजेक्शन के स्रोत को खोजने की कोशिश कर रहा हूं
मैंने --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)
Node v10.10.0 चल रहा है
const cyclic = Promise.resolve().then(()=>cyclic);
, इसलिए अनहेल्ड वादा अस्वीकृति की खोज न करें, यह नोड के आंतरिक कोड में है।
npm i bluebird
और जोड़ना const Promise = require('bluebird')
आपको एक अधिक विस्तृत त्रुटि संदेश दे सकता है
--trace-warnings
, अनहेल्ड रिजेक्शन चेतावनी के साथ हैं जिन्हें आप ट्रेस कर सकते हैं