前端同步异步解决方案

24 篇文章 0 订阅
3 篇文章 0 订阅
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>async和await</title>
</head>
<body>
    <div>async和await</div>
</body>
</html>
<!-- <script>
    function fn1(){
        return new Promise(function(resolve, reject) {
            setTimeout(function(){
                resolve(1)
            },2000)
        });

    }
    function fn2(){
        return new Promise(function(resolve, reject) {
            setTimeout(function(){
                resolve(2)
            },5000)
        });
    }
    function fn3(){
        return new Promise(function(resolve, reject) {
            setTimeout(function(){
                resolve(3)
            },3000)
        });
    }
    fn1().then(function(info){
        console.log(info)
        fn2().then(function(info){
            console.log(info)
            fn3().then(function(info){
                console.log(info)
            })
        })
        return new Promise(function(resolve, reject) {
            setTimeout(function(){
                resolve(4)
            },4000)
        });
    }).then(function(info){
        console.log(info)
    })
    
    
</script> -->
<!-- <script>
    // function 摇色子(){
    //     return new Promise((resolve, reject)=>{
    //         let sino = parseInt(Math.random() * 6 +1)
    //         setTimeout(()=>{
    //             resolve(sino)
    //         },3000)
    //     })
    // }
    // async function test(){
    //     let n =await 摇色子()
    //     console.log(n)
    // }
    // test()
//     async function ajax(url) {
//     return new Promise(function (resolve, reject) {
//         let ajaxSetting = {
//             url: url,
//             success: function (response) {
//                 resolve(response);
//             },
//             error: function () {
//                 reject("请求失败");
//             }
//         }
//         $.ajax(ajaxSetting);
 
//     });
// }
 
// async function run() {
//     let response1 = await ajax("data1.json");
//     let response2 = await ajax(response1["url"]);
//     let response3 = await ajax(response2["url"]);
//     console.log(response3);
// }
 
// //不阻塞
// run();
</script> -->
<script>
    async function Start(){
        var fn1obj=await fn1(2);
        console.log(fn1obj)
        var fn2obj=await fn2(4)
        console.log(fn2obj)
        var fn3obj=await fn3(7)
        console.log(fn3obj)
    }
    Start()
    //获取税率
    async function fn1(fn1Num){
        return new Promise(function (resolve, reject) {
            setTimeout(function(){
                resolve(fn1Num)
            },1000)
        });
        
    }
    //获取税率
    async function fn2(fn2Num){
        return new Promise(function (resolve, reject) {
            setTimeout(function(){
                resolve(fn2Num)
            },4000)
        });
        
    }
    //获取税率
    async function fn3(fn3Num){
        return new Promise(function (resolve, reject) {
            setTimeout(function(){
                resolve(fn3Num)
            },3000)
        });
        
    }
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值