学Vue前的前置知识-Promise

1. 回调地狱

多层回调函数的相互嵌套,就形成了回调地狱。
如下:

setTimeout(() => {
   //第一层回调函数
  console.log('延时1秒后输出')
  setTimeout(() => {
   //第二层回调函数
    console.log('再延时2秒后输出')
    setTimeout(() => {
   //第三层回调函数
      console.log('再延时3秒后输出')
    },3000)
  },2000)
},1000)

不断地嵌套,不断地缩进,使代码难以阅读、难以维护。

1.1解决回调地狱的问题

为了解决回调地狱的问题,ES6(ECMAScript2015)中新增了Promise的概念。

1.2Promise的基本概念

①Promise是一个构造函数
● 可以使用new关键词创建Promise实例
● new出来的Promise实例对象,代表一个异步操作
②Promise.prototype原型对象上包含一个 .then()方法
每一次new Promise()构造函数得到的实例对象,都可以通过原型链的方式访问到.then()方法,例如p.then()
③.then()方法用来预先指定成功和失败的回调函数
● p.then(成功的回调函数,失败的回调函数)
● p.then(result => {},error => {})
● 调用.then()方法时,成功的回调函数是必选的、失败的回调函数是可选的

2. 基于回调函数按顺序读取文件内容

在这里插入图片描述

按照顺序读取文件夹📂中的文件

//读取文件1.txt
fs.readFile( './files/1.txt ', 'utf8', (err1, r1) =>{
   
 if (err1) return console.log(err1.message) //读取文件1失败  
 console.log(r1) //读取文件1成功
 //读取文件 2.txt
 fs.readFile( './files/2.txt ','utf8 ', (err2,r2)=>{
   
   if (err2) return console.log(err2.message) //读取文件2失败
   console.log(r2) //读取文件2成功
   //读取文件 3.txt
   fs.readFile( './files/3.txt','utf8', (err3,r3) =>{
   
     if (err3) return console.log(err3.message)//读取文件3失败
     console.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值