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)
       })
    
    
  • 相关阅读:
    绿有四季关于需求沟通
    模板引擎开发(二)值标签的处理
    Jquery插件浮动广告
    项目经理的“势能”培养
    模板引擎开发(一)
    c#读取apk 信息
    golang读取文件信息插入mongodb
    白话MongoDB(二)(转载)
    golang 读取mongob数据写入sqlserver
    golang 通用Contains方法
  • 原文地址:https://www.cnblogs.com/ymzi/p/12051149.html
Copyright © 2011-2022 走看看