1.面向对象和类的关系?2.什么是Promise、3.Promise和async、await的关系

面向对象:

面向对象是一种编程思想(oop)。

(Js里面所有的东西都可以看做对象,Js它是基于原型的面向对象语言,采用原型的方式来构造对象)

很多个具有相同属性和行为的对象就可以抽象为类,对象是类的一个实例。JavaScript在ECMAScript 6中引入了类的概念。

(js 中所谓的 类 就是构造函数, 对象就是由构造函数创建出来的实例对象。

面向对象的三个基本特征:

封装:

就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,隐藏对象属性和实现细节,仅对外提供访问形式,提高安全性和代码复用性。

继承:

则是进一步将一类事物共有的属性和行为抽象成一个父类,而每个子类拥有父类的行为和属性,也有自己特有的行为和属性,扩展了已存在的代码块,进一步提高了代码的复用性。

多态:

是指允许不同类的对象对同一消息做出不同响应,从一定角度来 看,封装和继承几乎都是为多态而准备的,类中多个方法的重载叫多态,父子类中方法的覆盖也叫多态。提高了软件 的可重用性和可扩充性。

二、什么是promise

Promise 是异步编程的一种解决方案:

  1. 语法上来说,Promise 是个构造函数,new Promise创建了一个实列化对象,内部一般可以封装一个异步操作,

resolve,reject 是 promise 内部提供好给你的两个函数

成功调用 resolve

失败调用 reject

语法:

 // ------------promise语法------------
    // 步骤
    // 1. 许下诺言
    // 2. 获取诺言的结果

    // 1.许下诺言
    // Promise 是个构造函数,new Promise创建了一个实列化对象 => 许下一个诺言

    let p = new Promise((resolve, reject) => {
      // (里面是个回调函数,异步代码封装写入该函数里面)


      // 参数是个函数,把异步操作封装写入到该函数里面
      console.log('许下诺言,年薪百万')

      // 参数resolve,reject都是函数 

      // 1.2. 许诺成功
      // 当调用 resolve(), 会把promise状态变成 fufilled  成功
      resolve('成功了')


      // 1.3. 许诺失败
      // 调用 resject(),会把promise状态变成 reject, 失败(未完成)
      // reject('失败了')
    })
    console.log(p)


    //2.获取诺言的结果
    // then和catch方法获取诺言成功、失败的结果
    p.then((res)=> {
      // then方法会在诺言成功的时候来执行
      // 参
      console.log(res,'恭喜你,成功年薪百万')
    }).cath((err)=>{

    })
  1. 使用promise 对象

p.then(res => {...}) 处理成功
 .catch(res => {...}) 处理失败

案例:

<button>承诺: 今天学会promise</button>

document.querySelector('button').onclick = function () {
      // 点击按钮的时候,许下一个诺言
      let p = new Promise((resolve, reject) => {
        console.log('我许下了承诺');

        // 异步代码
        setTimeout(() => {

          // 随机一个数字,表示年薪
          let money = parseInt(Math.random() * 200)
          console.log(money)

          if (money >= 100) {
            resolve(`我现在年薪${money}万了`)
          } else {
            reject('诺言失败')
          }

        }, 1000)
   })

2)从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。

promise有三种状态: pending(等待态),fulfiled(成功),rejected(失败)

总结:

三、Promise和async、await的关系

async 可以创建一个异步函数

异步函数的返回值会自动封装到一个promise中返回

在async声明的异步函数中可以使用await关键字来调用异步函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值