ES8新特性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ES8新特性</title>
</head>
<body>
    <script>
        /*
        async和await
        两种语法结合使用,可以让异步操作变得更加清晰
        async函数:返回值为promise对象,返回结果由async函数执行返回
        await表达式:必须写在async函数中,返回的值是promise返回成功的值,如果返回失败则由try-catch捕获异常

        */
    //    async function fn(){
    //     //return '今天天气不错'
    //     //触发异常
    //     throw new Error('出错了')
    //    }
    //    const result=fn()
    // console.log(result) 
        //创建promise对象
        // const p=new Promise((resolve,reject)=>{
        //     //resolve("商品相关的数据")
        //     reject("数据失败")
        // })
        // async function main(){
        //     try{
        //         let result=await p
        //         console.log(result)
        //     }catch(e){//程序出现异常后,将执行catch体代码
        //         console.log(e)
        //     }
            
            
        // }
        // //调用函数
        // main()
         

    </script>   
</body>
</html>

async与await封装ajax

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width= j3 kenyb, initial-scale=1.0">
    <title>async与await封装ajax</title>
</head>
<body>
    <script>
        //发送ajax请求,返回Promise对象
        function sendAjax(url){
            return new Promise((resolve,reject)=>{
                //1.创建Ajax对象
                const xhr=new XMLHttpRequest()
                //2.初始化数据
                xhr.open("GET",url)
                //3.发送
                xhr.send()
                //4.处理响应数据
                xhr.onreadystatechange=function(){
                //判断响应协议值
                if(xhr.readyState===4){//4有返回值
                    if(xhr.status >=200 &&xhr.status<300){
                            //表示成功
                            resolve(xhr.response)//打印数据
                    }else{
                            //表示失败
                            reject(xhr.status)
                    }

                }
            }
            })
        }
        //async与await测试
        async function main() {
            let result=await sendAjax("https://www.jd.com")
        }
    </script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值