关于promise 的写法

Promise 的写法不是很熟,我希望能对 rejectresolve 的一些通用的状态做封装怎么写会比较好呢?
还有下面 writeFile 是不是直接写成普通函数会更好?不好意思贴了很长的代码,求助。。。。谢谢?

var readFile = function(fileName,req,res) {
    return new Promise(function(resolve, reject) {

        fs.readFile(fileName,function(err, data) {

            if(err){
               return res.send({
                    status:0,
                    info:"读取文件失败出现异常",
                    data:[]
                })
            }
            var COUNT=50;
            resolve(data,COUNT);
        });
    });

};

var writeFile=function(newData,res,filename){
  return new Promise(function(resolve,jeject){
      fs.writeFile(filename,function(err){
          if (err) {
              return res.send({
                  status: 0,
                  info: '写入数据失败',
                  data: []
              });
          }
          resolve(newData)
      })
  })
};
阅读 2.7k
1 个回答

异步操作 最好还是需要 promise 或者 Generator 函数 或者是 async函数

var readFile = function (fileName) {
  return new Promise(function (resolve, reject) {
    fs.readFile(fileName, function(error, data) {
      if (error) reject(error);
      resolve(data);
    });
  });
};

酱紫简单点嘛!然后把数据处理逻辑都放到调用的 then 或者 catch里面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题