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. html - 爬虫时出现“DNS lookup failed”,打开网页却没问题,这是什么情况?2. javascript - echart+百度地图3. web - Rails3使用form_for时出现undefined method `*_path’错误。4. css - autoprefixer没有添加web-kit前缀5. 无效的配置对象已使用与API模式不匹配的配置对象初始化了Webpack6. javascript 开发百度地图7. nginx - 关于vue项目部署到ngnix后出现的问题8. angular.js - 百度爬虫如何处理“#”符号?9. nosql - mongodb 多组数据不固定字段查询问题 [百度党请绕道]10. css3 - 请问,如何通过CSS实现高度height随宽度width变化而变化,保持长宽比例不变,宽度是根据父元素宽度变化的?
