promise类是一个大类我们经常用到的都是他的实例new promise它可以携带函数函数可以携带有两个参数resolve和reject,并且他们都是函数,resolve返回真确,reject返回错误
便于后面说明我们先把经常用到的一些promise里的一些方法进行列举
promise,then
promise.catch
promise.try
promise.all
promise.race
promise.reject
promise.resolve
首先我们定义一个promise实例代码如下
let promise = new Promise()
它携带一个函数并且这个函数携带两个参数
promise(function(resolve,reject){})
代码中的resolve和reject就是我们列举中的promise.resolve和promise.reject因为promise可以接受只有一种返回结果
请看这一段代码
promise(function(resolve,reject){}).then(function(reject,resolve){})
then()表示的是promise.then他是源于promise原型上的方法函数括号中可以填写参数可以是resolve也可以是·reject
他可以对返回结果进行处理并且它可以进行链式调用因为then返回的是一个promise实例大致相当于new promise所以这个我们应该可以用return
promise(function(resolve,reject){
return new promise()
})
我们可以将所需要的值传入promise当中
promise(function(resolve,reject){}).then().catch((e)=>console.log(e))
promise(function(resolve,reject){try{throw new error('错误')}catch(e=>console.log(e)))
这两个方法主要用于抛出错误
promise.all,promise.race都是用于处理多个异步处理
let promiseone =new Promise((resolve,reject)=>{})
let promisetwo = new Promise((resolve,reject)=>{})
promise.all([promiseon,promisetwo]).then()
上面代码是promise.all,promise.race与之不同的是all需要全部返回结果才调用后面then方法,而race则是最先返回的结果状态就是race的状态