承诺不是函数错误

时间:2017-08-27 01:47:34

标签: javascript node.js ecmascript-6 promise

我尝试使用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已经有了自己的承诺?

0 个答案:

没有答案