我在蓝鸟承诺中抛出一个错误的问题。请采取以下代码:蓝鸟承诺和域名
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库函数的预期如预期。 –