Javascript 如何使函数在NodeJS中等待异步函数解析?
我是node js的新手,以前从未接触过promises,因此我非常感谢您的建议。 我使用异步等待函数逐行读取.txt文件,它返回一个数组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
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);
这回答了你的问题吗?