封装createXHR

  

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        function createXHR(){
            var xhr=null
            let flag=false
            var array=[
                function a(){return new XMLHttpRequest()},
                function b(){throw new ErrorEvent('ErrorEvent')}
            ]
            
            for(let i=0;i<array.length;++i){
                try{
                    xhr=array[i]()
                    createXHR=array[i]
                    flag=true
                    break
                }catch(e){}
            }
            if(!flag){
                throw new EvalError('XMLHttpRequest not supported')
            }
            return xhr
        }
    
        var xhr1=createXHR()
        var xhr2=createXHR()
        console.log(xhr1===xhr2,xhr1,xhr2)
    </script>
</body>
</html>

 

posted @ 2021-04-10 09:36  ascertain  阅读(53)  评论(0编辑  收藏  举报