使用 fast-csv 如何处理数据无效,如何访问错误对象?
With fast-csv how on data-invalid, how do I access the error object?
使用 fast-csv 还支持异步验证,回调 示例位于
如何访问 'data-error' 事件中的错误?
验证事件有一个回调,原型为错误、布尔值、字符串。
.validate((row: Winner, processValidationError): void => {
const valid = /^[a-zA-Z0-9\]*$/.test(row.groupId);
if (valid) {
return processValidationError(null, false,'ok' )
}
// Error, boolean, reason: string
const error = new WinnerValidationError("Failed to read groupId", 'groupId')
return processValidationError(error, true,'groupId is invalid');
})
}
在数据无效时原型是行,行号字符串并且没有错误
.on('data-invalid', (row, rowNumber: number, reason: string) => {
console.log(error.message + error.key, `Invalid [rowNumber=${rowNumber}]
[row=${JSON.stringify(row)}] [reason=${reason}]`)
processValidationError(row,rowNumber,reason)
})
错误是passed in as the third argument(原因):
.on('data-invalid', (row, rowNumber, reason) => {
console.log(`Invalid row ${rowNumber}: ${reason}`);
})
如果您抛出错误而不是字符串(这是一个好习惯),您可以按如下方式访问它:
.on('data-invalid', (row, rowNumber, error) => {
console.log(`Invalid row ${rowNumber}: ${error.message}`);
})
使用 fast-csv 还支持异步验证,回调 示例位于
如何访问 'data-error' 事件中的错误?
验证事件有一个回调,原型为错误、布尔值、字符串。
.validate((row: Winner, processValidationError): void => {
const valid = /^[a-zA-Z0-9\]*$/.test(row.groupId);
if (valid) {
return processValidationError(null, false,'ok' )
}
// Error, boolean, reason: string
const error = new WinnerValidationError("Failed to read groupId", 'groupId')
return processValidationError(error, true,'groupId is invalid');
})
}
在数据无效时原型是行,行号字符串并且没有错误
.on('data-invalid', (row, rowNumber: number, reason: string) => {
console.log(error.message + error.key, `Invalid [rowNumber=${rowNumber}]
[row=${JSON.stringify(row)}] [reason=${reason}]`)
processValidationError(row,rowNumber,reason)
})
错误是passed in as the third argument(原因):
.on('data-invalid', (row, rowNumber, reason) => {
console.log(`Invalid row ${rowNumber}: ${reason}`);
})
如果您抛出错误而不是字符串(这是一个好习惯),您可以按如下方式访问它:
.on('data-invalid', (row, rowNumber, error) => {
console.log(`Invalid row ${rowNumber}: ${error.message}`);
})