Javascript 如何使函数在NodeJS中等待异步函数解析?

Javascript 如何使函数在NodeJS中等待异步函数解析?,javascript,node.js,Javascript,Node.js,我是node js的新手,以前从未接触过promises,因此我非常感谢您的建议。 我使用异步等待函数逐行读取.txt文件,它返回一个数组 async function processLineByLine() { const fileStream = fs.createReadStream('input.txt'); const array = []; const rl = readline.createInterface({ input: fileStream, c

我是node js的新手,以前从未接触过promises,因此我非常感谢您的建议。 我使用异步等待函数逐行读取.txt文件,它返回一个数组

async function processLineByLine() {
  const fileStream = fs.createReadStream('input.txt');
  const array = [];
  const rl = readline.createInterface({
    input: fileStream,
    crlfDelay: Infinity
  });

  for await (const line of rl) {
    array.push(line)
  }

  return array
}
我想使用此数组作为参数创建一个类的新实例,如下所示:

let variableName = new ClassName(array)
这样我就可以在对象的这个实例上调用函数并操纵它的状态。 我尝试过这样做:

async function input() {
  var result = await processLineByLine();
  return result
}

let variableName = ClassName(input())
variableName.someFunction()
但是它失败了,因为我尝试访问的状态未定义,并且console.log(input())显示promise pending。

您需要将所有代码放在
wait
之后:

async function input() {
  var result = await processLineByLine();
  let variableName = ClassName(result)
  variableName.someFunction();
}

input().catch(console.error);

这回答了你的问题吗?