我一直收到错误: UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:2):ReferenceError:未定义响应
我有一个这样的快速中间件(简化):
const myMiddleware = require('./mymiddleware');
router.use(myMiddleware);
然后在文件./mymiddleware.js
中module.exports = setup;
function setup(req, res, next) {
try {
execute()
.then(data => {
req.host = data;
console.log(data);
next();
})
.catch(() => {});
} catch (e) { next('error') }
}
async function execute() {
try {
const host = getHost();
......
return host;
} catch (e) {
return new Error("x");
}
}
我希望async函数能够使用 await 功能处理一些承诺。 我看到调用了then / console.log(数据),但随后触发了上述错误。
异步函数可以与快速中间件一起使用吗?
此致 伯特
答案 0 :(得分:2)
您在第二行写了一个拼写错误mymiddleware
而不是写myMiddleware
。
代码不正确
const myMiddleware = require('./mymiddleware');<br>
router.use(mymiddleware);
正确的代码
const myMiddleware = require('./mymiddleware');<br>
router.use(myMiddleware);
答案 1 :(得分:0)
我安装了以前版本的node.js(8.9.0&gt; 7.6.0)。
我现在可以安装包。
当@ sap / xssec的新版本发布时,我将更新节点版本并查看它是否已修复