搜尋

首頁  >  問答  >  主體

javascript - await 後面的Promise物件的回呼方法在哪裡寫

關於await的困惑

最近剛剛理解了:CO模組實作了generator裡面yield的自動呼叫。
但是自動呼叫的話,每個yield後面的promise物件的resolve和reject回呼方法,在哪裡定義呢?

今天又看到ES7的async代替了function*,await代替了yield,

又有同樣的困惑,每個await後面的promise物件的resolve和reject回呼方法,在哪裡定義呢?

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());
};
大家讲道理大家讲道理2749 天前705

全部回覆(1)我來回復

  • 天蓬老师

    天蓬老师2017-05-16 13:39:30

    f1 f2 就是resolve的返回啊,
    如果要出理reject的返回,請用try catch

    回覆
    0
  • 取消回覆