Error: Data should not be empty or the "fields" option should be included
Error: Data should not be empty or the "fields" option should be included
我有一些代码看起来像这样
try {
return inputStream
.pipe(JSONStream.stringify())
.on('error', e => next(`Stringify error: ${e}`))
.pipe(Json2csvTransform)
.on('error', e => next(`json2csv error: ${e}`))
.pipe(res)
.on('finish', () => console.log("Streaming of file is now complete."))
} catch(error) {
return res.status(400).json({ message: msg('fileRetrievalError', -3) })
}
当我到达 .on('error', e => next('json2csv error: ${e}'))
这个过程并没有落到 catch
,它只是一直在继续。我猜这是因为它被包裹在 next
我最终能够提取的错误是:
Error: Data should not be empty or the "fields" option should be included
我试图挖掘节点模块中的源代码,但这对我来说意义不大。
我想我有两个可能的解决方案:要么我需要了解来自 Json2csv
的错误的含义,要么我需要能够退出并关闭我的流。我试图将 return res.status(400).json({ message: msg('fileRetrievalError', -3) })
推入 .on('error;)
的回调中,但如果该过程失败一次,它每次都会失败,直到会话结束,即使在提供所有有效信息时也是如此 - 如果这有意义..
我对节点知之甚少,而且这个包没有很多围绕它的支持。
如果你想在处理特定错误后停止处理流,你必须抛出错误:
.on('error', e => throw error.message)
我有一些代码看起来像这样
try {
return inputStream
.pipe(JSONStream.stringify())
.on('error', e => next(`Stringify error: ${e}`))
.pipe(Json2csvTransform)
.on('error', e => next(`json2csv error: ${e}`))
.pipe(res)
.on('finish', () => console.log("Streaming of file is now complete."))
} catch(error) {
return res.status(400).json({ message: msg('fileRetrievalError', -3) })
}
当我到达 .on('error', e => next('json2csv error: ${e}'))
这个过程并没有落到 catch
,它只是一直在继续。我猜这是因为它被包裹在 next
我最终能够提取的错误是:
Error: Data should not be empty or the "fields" option should be included
我试图挖掘节点模块中的源代码,但这对我来说意义不大。
我想我有两个可能的解决方案:要么我需要了解来自 Json2csv
的错误的含义,要么我需要能够退出并关闭我的流。我试图将 return res.status(400).json({ message: msg('fileRetrievalError', -3) })
推入 .on('error;)
的回调中,但如果该过程失败一次,它每次都会失败,直到会话结束,即使在提供所有有效信息时也是如此 - 如果这有意义..
我对节点知之甚少,而且这个包没有很多围绕它的支持。
如果你想在处理特定错误后停止处理流,你必须抛出错误:
.on('error', e => throw error.message)