zoukankan      html  css  js  c++  java
  • Promise的使用

    Promise的简单认识

    Promise 是ES6中对异步编程的一种解决方案,可以避免出现回调地狱

    Promise最基本的语法

     new Promise((resolve, reject) => {
            setTimeout(()=>{
                resolve('data');
                reject('error')
            },1000)
        }).then((data)=>{
            console.log(data)
        }).catch((error)=>{
            console.log(error)
        })
    

    这里我们用定时器模拟异步事件:

    resolve与reject它们两个也是函数,会根据请求数据的成功和失败来决定调用哪一个。

    请求成功,就在then( )里面执行resolve函数,请求失败在catch( )里面执行rejecte函数。

    Promise 的链式调用

        // 第一次网络请求
        new Promise((resolve, reject) => {
            setTimeout(()=>{
                resolve('A')
            },1000)
        }).then((A)=>{
            // 执行第一次网络请求
            console.log('AAA');
            // 对执行结果进行第一次处理
            return new Promise((resolve, reject) => {
                    resolve(A+'BBB')
            }).then((A)=>{
                // 第一次处理结果
                console.log(A);
                //对执行结果进行第二次处理
                return new Promise((resolve, reject) => {
                        resolve(A+'CCC')
                })
            }).then((A)=>{
                //第二次处理结果
                console.log(A)
            })
        })
    

    省略掉Promise,resolve

     new Promise((resolve, reject) => {
           setTimeout(()=>{
               resolve('A')
           },1000)
       }).then((A)=>{
           console.log('AAA');
           return A + 'BBB'
       }).then((A)=>{
           console.log(A);
           return A + 'CCC'
       }).then((A)=>{
           console.log(A)
       })
    
    
  • 相关阅读:
    webpack:loader编写
    架构之路:从概念开始
    AtCoder Regular Contest 114(A-C)
    12-UE4-控件类型
    10-UE4-蓝图定义简介
    11-UE4-UMG UI设计器
    UE4-目录结构简介
    UE4-字符串
    官方Spring Boot starters整理
    Java是引用传递还是值传递?
  • 原文地址:https://www.cnblogs.com/ymzi/p/12051149.html
Copyright © 2011-2022 走看看