我不太清楚我是否已经理解了异步承诺,但我不能在没有.then的情况下调用下面的第一个函数吗?
const fs = require('fs')
const lineReader = require('readline')
exports.isEnglish = async (item) => {
return new Promise((resolve, reject) => {
let lr = lineReader.createInterface({
input: fs.createReadStream('words.txt')
})
lr.on('line', (line) => {
if (item.toLowerCase() === line.toLowerCase()) {
resolve(true)
}
})
lr.on('end', (line) => {
reject(false)
})
})
}
然后这样称呼它:
const english = require('./index')
console.log(english.isEnglish('ZZZ')
.then((result) => {
console.log(result)
})
.catch((err) => {
console.log(err)
})
)
答案 0 :(得分:1)
您定义的函数是异步并返回一个promise。
要使用相同的async-await语法调用它,封闭范围需要具有async
关键字,然后按以下方式调用该函数:
const result = await asyncFunction();