promise对象

92 阅读1分钟

实例对象和函数对象的区别

new 出来的对象是实例对象,将一个函数作为对象使用时,他就是一个函数对象 xxx.call()

错误处理

error是所有错误的父 类型错误 引用错误 语法错误 栈错误

错误的处理

try{ 有可能出错的代码 }catch(error){}

trrow error 抛出之后在他的外层进行接收处理

js单线程

同步任务和异步任务

只能按顺序执行的是同步任务,可以先挂起,之后在执行的是异步任务 同步回调函数和异步回调函数

js 的执行过程

js代码是单线程的,代码只能从上往下执行。但实际当中浏览器是多个线程配合执行js代码,在执行代码时会把异步任务

什么是promise

promise是一个构造函数,一个容器,里面的操作会在未来的某个时间执行。

promises的英文意思是承诺。一个promise对象只有三种状态,进行中,成功,结束,状态一旦改变就不能修改了。

 var pri = new promise(function(resolve,reject){
    if(ture){
        resolve("成功了")//不加return这个会是最后执行
        console.log("11")//这个会比resolve先执行
    }
    else{
        reject("失败了")
    }
})

pri.then((value)=>{console.log(value)})
   .catch(value=>{console.log(value))
   
 

resolve和reject是内置的一个api,pomise状态变成resolve就会触发then,变成reject就会触发catch,通常要加上return

then第一个参数是成功时执行的回调函数,第二个是失败时执行的回调函数

.catch是发生错误时错误会被捕获,包括then中发生的

他解决了回调地域的问题