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。

  • 相关阅读:
    多线程环境下调用 HttpWebRequest 并发连接限制
    i—比 i++ 快?
    文件在不同文件系统间拷贝文件时间改变的问题
    Go websocket 聊天室demo2
    Go websocket 聊天室demo以及k8s 部署
    AcWing 1077. 皇宫看守
    AcWing 1073. 树的中心
    AcWing 1085. 不要62
    AcWing 1081 度的数量
    AcWing 1082. 数字游戏
  • 原文地址:https://www.cnblogs.com/hacker-caomei/p/14208845.html
Copyright © 2011-2022 走看看