使用promise可以很优雅的封装一个异步函数,使其按指定顺序执行:
// 异步读取文件操作
const fs = require("fs");
function promiseReadFile(url) {
return new Promise(function (resolve, reject) {
fs.readFile(url, function(err, data) {
if(err) {
reject(err);
} else {
resolve(data);
}
})
})
}
使用封装好的promiseReadFile()函数,按顺序读取a.txt, b.txt, c.txt,并返回其内容
promiseReadFile("./a.txt")
.then(function(data) {
console.log(data);
return promiseReadFile("./b.txt");
})
.then(function(data) {
console.log(data);
return promiseReadFile("./c.txt");
})
.then(function(data) {
console.log(data);
})