gpt4 book ai didi

javascript - 可能会与 busboy 一起发出错误?

转载 作者:行者123 更新时间:2023-12-01 15:28:48 25 4
gpt4 key购买 nike

是否可以使用 busboy 发出错误并进行处理?

例子:

busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
if(mimetype !== 'application/pdf') {
this.emit('error',new Error('Wrong file type'));
return;
}
}
busboy.on('error', function(err) {
console.log('An error has occured: \n' + err);
});

如果我这样做,我会收到以下错误:
events.js:141
throw er; // Unhandled 'error' event
^

Error: Wrong file type
at Busboy.<anonymous> (/home/ubuntu/workspace/suploadtest/app.js:44:31)
at emitMany (events.js:108:13)
at Busboy.emit (events.js:182:7)
at Busboy.emit (/home/ubuntu/workspace/uploadtest/node_modules/busboy/lib/main.js:31:35)
at PartStream.<anonymous> (/home/ubuntu/workspace/uploadtest/node_modules/busboy/lib/types/multipart.js:213:13)
at emitOne (events.js:77:13)
at PartStream.emit (events.js:169:7)
at HeaderParser.<anonymous> (/home/ubuntu/workspace/uploadtest/node_modules/busboy/node_modules/dicer/lib/Dicer.js:51:16)
at emitOne (events.js:77:13)
at HeaderParser.emit (events.js:169:7)

我希望能够通过消息发出我自己的错误,然后在错误事件中删除上传的文件。

最佳答案

您的代码的问题是使用 this而不是变量busboy .

使用这种方法,事件发射器是 功能 你刚刚声明而不是服务员

这样你就有了一个未处理的“错误”事件,因为没有任何东西在监听函数事件。

你应该做的是:

busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
if(mimetype !== 'application/pdf') {
busboy.emit('error',new Error('Wrong file type'));
return;
}
}

只需更改 thisbusboy

关于javascript - 可能会与 busboy 一起发出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38377212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com