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());};
問題解答
回答1:f1 f2 就是resolve的返回啊,如果要出理reject的返回,請用try catch
相關文章:
1. javascript - 奇怪的Symbol的問題2. python - 為什么在main()函數里result 會變成那樣?3. javascript - Web微信聊天輸入框解決方案4. angular.js - angular ng-class里面的引號問題5. docker - 如何修改運行中容器的配置6. html - vue項目中用到了elementUI問題7. 網頁爬蟲 - 用Python3的requests庫模擬登陸Bilibili總是提示驗證碼錯誤怎么辦?8. javascript - react 中綁定事件和阻止事件冒泡9. javascript - es6將類數組轉化成數組的問題10. javascript - 有沒有什么好的圖片懶加載的插件,需要包含監聽頁面滾動高度,然后再加載的功能
