使用单个promise的情形
new Promise(
(resolve, reject) => {
fs.readFile('logger.js', (err, data) => {
if (err) {
reject(err)
} else {
resolve(data)
}
})
}
).then(data => {
console.log(data.toString())
}).catch(err => {
console.log(err)
})
如果想读取多个文件 并且避免使用callback回调
fs = require('fs')
util = require('util')
var read = util.promisify(fs.readFile)
Promise.all([
read('logger1.js'),
read('logger2.js'),
read('logger3.js')
]
).then(data => {
const [data1, data2, data3] = data
console.log(data1.toString())
console.log(data2.toString())
console.log(data3.toString())
}).catch(err => {
console.log(err)
})