关键:
要解决这个问题的关键就是await function()
中function()的返回值是什么类型?
答案:
Promise
案例:
下面给出一个案例,以流的形式读取文件数据。例子中定义了一个readStreamFile函数,然后在main中使用await调用readStreamFile这个方法。将文件内容赋值给file_content变量.
const readStreamFile = (filename) => {
return new Promise((executor, reject) => {
let chunks = [];
const reader = fs.createReadStream(filename)
reader.on('data', (chunk) => {
chunks.push(chunk);
})
reader.on('end', () => {
reader.close();
executor(Buffer.concat(chunks).toString('base64'));
})
reader.on('error', (err) => {
reject(err);
})
})
}
const main = async (filename) => {
try {
const file_content = await readStreamFile(filename);
} catch (e) {
console.log(e.message);
}
}
main("filename");
网友评论