【发布时间】:2021-11-04 05:03:53
【问题描述】:
我正在尝试处理在 fs.createReadStream 中引发的异常,为此我使用了 Promise,但该错误终止了 API,尽管有 .catch。
我做错了什么?
这是我的测试代码:
fcts = require('./functions.js');
app.get('/test', function(req, res){
console.log("OK TEST")
fcts.test(req, res, '/data/file')
.then(result => console.log("OK"))
.catch(err => console.log("NO"))
})
module.exports = {
test: function (request, response, fichier){
return new Promise((resolve, reject) => {
var flux = fs.createReadStream(fichier)
.on('error', function(err){
console.log("no")
reject("reject")
})
.on('close', function(){
console.log("end")
resolve("ok")
})
.pipe(unzip.Parse())
.on('entry', function (entry) {
throw("uh")
});
console.log("end end")
})
}
}
这是我的日志:
...
OK TEST
end end
.../functions.js:1493
throw("uh")
^
uh
我正在使用节点 8.16.0 和 express-js
谢谢!
【问题讨论】:
标签: node.js express error-handling fs throw