Promise非同期読み込みファイルのカプセル化
721 ワード
// a、b、c
const fs = require('fs');
// ,
let read = (path) => {
return new Promise((resolve, reject) => {
fs.readFile(path, 'utf-8', (err, data) => {
err ? reject(err) : resolve(data);
});
});
}
//
// , , Promise
read('./a.txt')
.then((data) => {
console.log(data);
return read('./b.txt');
})
.then((data) => {
console.log(data);
return read('./c.txt');
})
.then(data => {
console.log(data);
})
.catch(err => {
console.log(err);
});
// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
// bbbbbbbbbbbbbbbbbbbbbb
// cccc