将Promise函数转换为异步/等待

时间:2019-03-27 03:50:59

标签: javascript node.js promise async-await

我正在尝试将此功能转换为异步/等待。但是感到困惑。有办法吗?

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.'));
          });
      });
    };

2 个答案:

答案 0 :(得分:1)

async..awaitthencatch Promise方法提供语法糖,以类似同步的方式链接Promise。

由于创建了诺言但未将其链接在一起,因此使用async..await不会改善代码。在没有链式保证的情况下,new Promise仍需要async..await

答案 1 :(得分:-1)

仅在await函数中声明async时才能使用。 您可以使用它,然后使用正确的错误处理。 但是,如果您想使用await,则可以使用

async function name() {
  await // Your code here
};