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. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. javascript - QWebEngineView 如何爬 angular 的動態數據?3. javascript - 使用angular 的ui-sref 中出現了中文參數,點擊跳轉后瀏覽器的地址欄里出現轉義后的%AE....%a%44. java - ConcurrentHashMap中的get()方法為什么可以不加鎖?5. java - 郵箱如何發送html內容6. html5 - 這個代碼顯示功能如何實現?7. javascript - 用JS 七牛上傳圖片出現文件已存在的錯誤(file exists)8. 工作近5年,3年Java Web ,近2年前端,未來何去何從?9. css3 - 圖片等比例縮放10. java - 字節流轉成字符串之后,在通過字符串轉成字節流后的文件為什么會不一樣?
