StackOverflow - StackOverflow
How to avoid for await...of with csv-parse
Based on advice given in the answers, I am going to ignore the Airbnb Style Guide and use the Async iterator method.
Final code:
const { parse } = require('csv-parse');
const fs = require('fs');
const path = require('path');
const debug = require('debug')('app:csv:service');
const chalk = require('chalk');
async function parseCsv(csvFile) {
try {
const records = [];
const stream = fs.createReadStream(csvFile);
const parser = stream.pipe(parse({ delimiter: ',', columns: true }));
// eslint-disable-next-line no-restricted-syntax
for await (const record of parser) {
records.push(record);
}
return records;
} catch (error) {
debug(`${chalk.red('Failed')} to parse CSV`);
debug(`${chalk.red('ERROR:')} ${error}`);
throw error;
}
}
It may be time to find a new Style Guide to follow. Thank you to num8er for the code advice (I took one of your ideas to make my code a little more readable).
Was this helpful?
Related Articles
Have a different question?
Can't find the answer you're looking for? Submit your own question to our community.
🛎️ Get Weekly OTA Fixes
New answers, vendor issues, and updates — straight to your inbox.