我尝试使用Promise重写下面的代码,但是readFile的错误不是函数错误。
fs.readFile(data.file.path, function(err, data) {
if (err) throw err; // Fail if the file can't be read.
const s3data = {
Key: file_name,
Body: data,
ContentType: 'image/jpeg'
}
s3Bucket.putObject(s3data, function(err, resp){
if(!err) res.json({resp});
});
})
我的尝试
const readFile = () => {
return new Promise((resolve, reject) => {
fs.readFile(data.file.path, (err, data) => {
resolve(data)
})
})
}
readFile.then(data => {
const s3data = {
Key: file_name,
Body: data,
ContentType: 'image/jpeg'
}
s3Bucket.putObject(s3data, function(err, resp){
if(!err) res.json({resp});
});
})
出了什么问题?我想问的另一个问题是我应该使用蓝鸟吗?我使用节点版本6.9,蓝鸟是什么用的?我以为es6已经有了自己的承诺?