[英]Nodejs calling async function with promise
不太确定我是否了解异步诺言,但是我不应该可以在没有.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)
})
)
您定义的函数是异步的,并返回一个Promise。 要使用相同的async-await语法调用它,封闭范围需要具有async
关键字,然后您可以通过以下方式调用该函数:
const result = await asyncFunction();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.