javascript - await 后面的Promise對(duì)象的回調(diào)方法在哪里寫(xiě)
問(wèn)題描述
關(guān)于await的困惑
最近剛理解了:CO模塊實(shí)現(xiàn)了generator里面yield的自動(dòng)調(diào)用。但是自動(dòng)調(diào)用的話(huà),每個(gè)yield后面的promise對(duì)象的resolve和reject回調(diào)方法,在哪里定義呢?
今天又看到ES7的async代替了function*,await代替了yield,
又有同樣的困惑,每個(gè)await后面的promise對(duì)象的resolve和reject回調(diào)方法,在哪里定義呢?
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’);//這里沒(méi)有定義回調(diào),回調(diào)在哪里定義 var f2 = await readFile(’/etc/shells’);//這里沒(méi)有定義回調(diào),回調(diào)在哪里定義 console.log(f1.toString()); console.log(f2.toString());};
問(wèn)題解答
回答1:f1 f2 就是resolve的返回啊,如果要出理reject的返回,請(qǐng)用try catch
相關(guān)文章:
1. python - beautifulsoup獲取網(wǎng)頁(yè)內(nèi)容的問(wèn)題2. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問(wèn)題3. docker鏡像push報(bào)錯(cuò)4. docker - 如何修改運(yùn)行中容器的配置5. docker-machine添加一個(gè)已有的docker主機(jī)問(wèn)題6. fragment - android webView 返回后怎么禁止重新渲染?7. docker不顯示端口映射呢?8. android studio總是在processes running好久9. dockerfile - [docker build image失敗- npm install]10. angular.js - Angular 2 + Django構(gòu)建的Web應(yīng)用, 如何合理搭配 ?
