async 函数

同步
console.log(1);
console.log(2);
console.log(3);
console.log(4);

        //异步 ajax 文件读取io操作
        console.log(1);
        console.log(2);
        setTimeout(function(){
            console.log(3000);
        },3000);
        console.log(3);
        console.log(4);
        //先打印1 2 3 4,隔三秒后打印3000;
        
        //async函数返回的是resolve状态的Promise对象
        async function fn(){
            return "abc";
        }
        let result=fn();
        console.log(result);//打印:Promise {[[PromiseStatus]]: "resolved", [[PromiseValue]]: "abc"}。*/
        
Promise 对象
        let p = new Promise(function(resolve,reject){
            resolve("abc");
        });
        
        p.then(function(data){
            console.log(data);//打印abc。
        });
        //async函数里面的返回值传递给then方法
        async function fn(){
            return "123";
        }
        let p1 = fn();
        p1.then(function(data){
            console.log(data);//打印123.
        });
        
        //async函数用来处理异步
        
        function one(){
            return new Promise(function(resolve,reject){
                setTimeout(function(){
                console.log("one_3000");
                resolve("one_3000");
                },3000);
            })
            
        }
        

        function two(){
            return new Promise(function(resolve,reject){
                setTimeout(function(){
                console.log("two_2000");
                resolve("two_2000");
                },2000);
            })
            
        }
        
        //await只能出现在异步函数里面, 
        async function shunxu(){
            console.log("start");
            let r1 = await one();
            console.log(r1);
            let r2 = await two();
            console.log(r2);
            return "end";
        }
        let p3 = shunxu();
        p3.then(r=>{
            console.log("结束");
        });
        
        //先打印start,三秒后打印两次one_3000,打印完one_3000然后隔两秒打印两次two_2000和结束;

转载于:https://www.cnblogs.com/GJcaowei/p/7207891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值