首页 > 开发 > NodeJS > 正文

关于es7里面的async/await的一个疑问?

2017-09-08 17:17:07  来源:网友分享

以阮一峰的例子来看:

var fs = require('fs');var readFile = function (fileName) {  return new Promise(function (resolve, reject) {    fs.readFile(fileName, function(error, data) {      if (error) reject(error);      resolve(data);    });  });};var asyncReadFile = async function () {  var f1 = await readFile('/etc/fstab');  var f2 = await readFile('/etc/shells');  console.log(f1.toString());  console.log(f2.toString());};

在这个里面,如果我想每次把readFile里面的error打印出来,请问这个该怎么在async函数里面处理呢?

解决方案

不太清楚你这里问具体是什么,如果要处理异步操作中的错误的话。

可以 var f1 = await readFile('/etc/fstab').catch(e=>{ 处理错误 }) 因为返回的是一个promise对象,

直接在异步操作执行完毕后,直接catch错误就好了,和promise的写法是一样的。