zoukankan      html  css  js  c++  java
  • promise

    1为什么需要promise:

    ajax请求id,id请求用户名,用户名获取email

      产生回调地狱:回调函数中嵌套回调

    Promise解决了回调地狱

    2promise使用。

    promise是一个构造函数,通过new关键字实例化对象。。

     语法:
     1 new promise()

    promise函数接受参数。(一个函数)一个函数作为,参数。 ()=>{} 

    参数函数接受参数。

        resolve,reject。

    2 promise 实例有两个属性。

     state:状态。

     result:结果。

    const p =new Promise( ( resolve, reject) => { })

    1) promise对象的状态:(ajax:准备,成功了,失败了,)

    1 pending 装备

    2 fulfill:成功。完成

    3 rejected:失败

    2) 状态的改变:

    通过调用reslove()和reject()改变当前的promise 的对象状态。

    resolve();promise对象的状态 改成fulfilled

    reject();promise对象的状态 改成 rejected;

    promise状态改变是 一致性的。

    3)promise的结果。

    3 p对象 的方法。

    promise函数里面有3个方法。

    then方法。

    参数:1 是一个函数,(成功的时候执行)2还是一个函数。(失败的时候执行。)

    返回值:是一个promise对象。

    p.then( ()=>{

    console.log(‘成功时候调用。’)//resolve

    },()=>{

    console.log(‘失败的时候调用’); //reject

    } )

    console.log(p);

    then方法的参数函数中,通过promise对象结果。

    then方法返回一个promise实例。状态,pending。

    pending。 fulfilled。

    链式操作: new  Promise((resolve,reject)=>{}).then().then()

    then 方法,通过return 返回的promise改为fullfiled。

  • 相关阅读:
    Java 一边读边写即读一行写一行
    mysql-字符类型
    mysql-数字类型:自增主键踩坑
    mysql-死锁
    mysql-查询的成本
    mysql-独立表空间
    mysql-innodb的表空间
    java-semaphore
    java-CyclicBarrier
    java-countDownLatch
  • 原文地址:https://www.cnblogs.com/hacker-caomei/p/14208845.html
Copyright © 2011-2022 走看看