【发布时间】:2019-03-27 15:22:27
【问题描述】:
我正在尝试将此函数转换为异步/等待。却一头雾水。有办法吗?
const csv = require('fast-csv');
const inputFileFolder = 'upload';
const readData = (inputFileName) => {
const csvData = [];
return new Promise((resolve, reject) => {
csv
.fromPath(`${inputFileFolder}/${inputFileName}`)
.on('data', (data) => {
csvData.push(data);
})
.on('end', () => {
resolve(csvData);
})
.on('error', () => {
reject(new Error('Something went wrong while reading the CSV file.'));
});
});
};
【问题讨论】:
-
有什么问题?
-
你不能使用
async/await- 你需要在处理promise的函数中使用它。 -
我猜你可以用
await new Promise代替return new Promise但这并不能真正完成任何有用的事情——每个@Jack,如果你想使用await,请使用awaitinreadData的消费者 -
@JackBashford 我做到了。但想知道我是否可以使这个异步/等待。
-
为什么? “让它异步/等待”你仍然需要“承诺”
csv.fromPath- 异步等待不用于将回调样式代码转换为 Promise 样式代码 - 正如已经说过两次的那样,用于承诺
标签: javascript node.js promise async-await