then和catch返回值
        1.都是会返回Promise
        2.正常情况下resolve,遇到错误,rejected
var p = Promise.resolve(100).then(res=>{console.log(res)throw "err"})p.then(()=>{console.log(200)}).catch(err=>{console.log(err)}).then(()=>{console.log(300)})
异常的处理
 (async () => {
     var p = Promise.reject("err");
     try {
         let res = await p;
         console.log(res)
     }catch(err){
         console.log(err)
     }
 })()
Promise.reject("err").catch((err)=>{
console.log(err)
})
状态
       pending
        resolved
        rejected
        var p = new Promise((resolve,reject)=>{
            //
            setTimeout(()=>{
                resolve()
            })
        })
        setTimeout(()=>{
            console.log(p)
        })
        console.log(p)
                    