• 关于异步处理的几个阶段


    settimeout函数

    function ajax(){
        setTimeout(()=>{
            console.log('你好')
        },1000)
    }
    ajax()
    console.log('执行结果')
    
    //回调函数进行处理,先打印执行结果:你好,执行结束
    //回调函数解决顺序问题
    function ajax(fn){
        setTimeout(()=>{
            console.log('你好')
            fn()
        },1000)
    }
    ajax(()=>{
        console.log('执行结束')
    })
    console.log('执行结果')
     //callback回调地狱 
    function ajax(fn){
        setTimeout(()=>{
            console.log('你好')
            fn()
        },1000)
    }
    ajax(()=>{
        console.log('执行结束')
        // 里面的ajax从外层开始回调的哦console.log('执行结束2')根据放的位置不同
        //也会在不同时候打印呢,
        ajax(()=>{
            ajax(()=>{
                ajax(()=>{
                    console.log('执行结束2')
                })
            })
           
        })
    })
    console.log('执行结果')
    

    promise下一代异步解决方案
    在promise中处理异步

    
    function delay(word){
        return new Promise((resolve,reject)=>{
            setTimeout(()=>{
                resolve(word)
            },2000)
        })
    }
    delay('哪吒')
        .then((word)=>{
            console.log(word)
            return delay('杨戬')
        })
        .then((word)=>{
            console.log(word)
            return delay('观音菩萨')
        })
        .then((word)=>{
           console.log(word)
        })
    

    async最终异步处理结果,使用koa可以运行出结果,浏览器并不行啊,我亲测过

      function delay(word){
            return new Promise((resolve,reject)=>{
                setTimeout(()=>{
                    resolve('hello'+word)
                },2000)
            })
        }
        async function start(){
            const word1 = await delay('孙悟空')
            console.log(word1)
            const word2 = await delay('唐僧')
            console.log(word2)
            const word3 = await delay('猪八戒')
            console.log(word3)
        }
        start()
    
  • 相关阅读:
    计算机组成原理--中断系统
    操作系统--文件管理2
    操作系统--文件管理1
    操作系统--存储管理4
    操作系统--存储管理3
    操作系统--存储管理2
    操作系统--存储管理1
    有序线性表(存储结构数组)--Java实现
    【Java】之static静态方法与非static静态方法区别
    【Android Studio】之构建项目报错
  • 原文地址:https://www.cnblogs.com/smart-girl/p/11270625.html
Copyright © 2020-2023  润新知