我在藍鳥承諾中拋出一個錯誤的問題。請採取以下代碼:藍鳥承諾和域名
var Promise = require('bluebird');
var domain = require('domain');
var problem = function() {
return new Promise(function(resolve, reject){
reject(new Error('Oops!'));
});
};
domain.create()
.on('error', function(e){
console.log("Caught Error " + e.message)
process.exit(1);
})
.run(function() {
problem().done();
});
我期望在控制檯中看到Caught Error Oops!
。但是,似乎錯誤沒有被捕獲到域內,我在控制檯中看到一個致命的錯誤和堆棧跟蹤。
有誰知道爲什麼?
域已棄用,您不應該使用它們。 –
這不是很有幫助。是的,我明白域名可能會在未來被替換,但是在要求棄用它們兩年之後的今天,它們仍然是核心。由於沒有任何物品可以替代它們提供的特定功能,因此域仍處於待棄用狀態。 –
這是藍鳥的問題,Q庫函數的預期如預期。 –