promiseizedExpressJs函数中引发错误
Thrown error in promisified ExpressJs function
我不太清楚如何处理promise中的错误(而且我对promise还很陌生,所以我可能没有充分利用它们)。
我有以下代码:
app.listenAsync = Promise.promisify(app.listen);
app.listenAsync(config.port)
.then(function done() {
console.log("We're listening!");
})
.catch(function (err) {
console.log("Abort abort!");
});
出于我不太理解的原因,我的catch()
从未被调用,即使app.listenAsync抛出错误,例如EADDRINUSE。为什么?
编辑:我刚刚注意到,如果我做
var listenAsync = Promise.promisify(app.listen);
listenAsync(config.port)
.then(function done() {
console.log("We're listening!");
})
.catch(function (err) {
console.log("Abort abort!");
});
给出几乎正确的行为。listenAsync抛出一个错误(这次在catch
语句中捕获)Possibly unhandled TypeError: listener must be a function
。我是不是错过了什么?
这与promise无关,它只是一个基本的javascript:调用listen就像调用函数一样,但它是app
的方法。
一些选项:
Promise.promisifyAll(app);
// Note how it's called as a method on app
app.listenAsync(...).then(....)
或
// Bind the function as a method of app
var appListenAsync = Promise.promisify(app.listen, app);
appListenAsync(...).then(....)
相关文章:
- XMLHttpRequest:需要使用ajax中的成功和错误函数
- Javascript 错误:函数预期
- 未捕获的引用错误:函数未使用 onchange 定义
- 如何让jQueryajax执行错误函数
- 未定义未捕获的引用错误函数
- $.ajax在跨域url上不返回错误函数
- jQuery.ajax+php5.3-始终执行错误函数
- javascript未捕获类型错误函数ajax
- 在 Promise 调用的错误函数回调后附加对象的用法是什么
- Ajax 请求在 HandleUnauthorizedRequest 之前命中错误函数
- 引用错误:“函数”未定义
- 黑莓 10 级联 ajax 调用从 javascript 总是执行错误函数
- Ajax 调用弹簧控制器回调错误函数
- 未定义未捕获的引用错误函数
- 主干.js - n捕获异常:语法错误:函数构造函数:无法编译函数
- 引用错误:函数未定义错误
- “未捕获的引用错误:(函数)未定义”与焦点事件
- JavaScript 未捕获的引用错误函数未定义 单击时
- 引用错误:函数未定义
- 类型错误: [函数名称] 不是函数,在猫鼬和节点.js中