引入fs
const fs = require('fs');
用promise读取第一个文件
用resolve返回文件内容,用then方法时,value是文件的内容。
const p = new Promise(function(resolve, reject) {
fs.readFile('第一个.md', (err, data) => {
if (err) reject(err);
resolve(data);
})
});
链式调用then方法
1.第一个then方法
p.then(value => {
return new Promise((resolve, reject) => {
fs.readFile('第二个.md', (err, data) => {
if (err) reject(err);
resolve([value, data]);
})
})
})
外层value是第一个文件的内容。返回一个promise对象,内部promise返回状态和值等于外部promise返回状态和值。内部promise的data是第二个文件的内容,拼接第一个文件(value)和第二个文件(data),然后用resolve返回。
2.第二个then方法
.then(value => {
return new Promise((resolve, reject) => {
fs.readFile('第三个.md', (err, data) => {
value.push(data);
resolve(value);
});
})
})
外层value是第一个和第二个文件的内容。内部promise的data是第三个文件的内容,将第三个文件内容添加到前两个,然后用resolve返回。
3.第三个then方法
.then(value => {
console.log(value.join('\r\n'));
// join将数组中的所有元素放入一个字符串
})
这里的value是三个文件的内容。输出三个文件的内容。