Promise.resolve(value)
基本使用:
- 用于创建一个成功的promise
 
- 属于Promise的静态方法
 
- 该方法接收参数value,value的值可以是普通值或者promise
 
- 返回值是一个promise实例,可以支持链式.then
 
- value是普通值,会将value作为下一次then的结果
 
Promise.resolve(100).then(res => {
  console.log(res) // 100
})
- value是一个promsie,会解析promsie,将promise的结果作为下一次then的结果,内部靠
reslolvePromise这个方法来解析promise 
const p = new Promise((resolve, reject) => {
  resolve('hello promise')
})
Promise.resolve(p).then(res => {
  console.log(res) // 'hello promise'
})
实现原理:
- 内部就是返回了一个promise,调用resolve方法,将value参数传入
 
- 具体的promise解析靠的是promise的实现原理
 
Promise.resolve = function(value) {
    return new Promise((resolve, reject) => {
        resolve(value)
    })
}
Promise.reject(reason)
基本使用:
- 用于创建一个失败的promise
 
- 也是Promise的静态方法
 
- 参数接收reason,reason可以是promise或者普通值,但是不会去解析处理promise,而是作为普通值处理
 
- 返回值也是一个promise
 
- reason 是一个普通值,会作为下一次catch的结果
 
Promise.reject(100).catch(res => {
    console.log(res) // 100
})
- reason是一个promise,不会做任何处理和解析,和普通值一样
 
const p = new Promise((resolve, reject) => {
  resolve('hello promise')
})
Promise.reject(p).catch(res => {
    console.log(res) // Promise { 'hello' }
})
实现原理:
- 内部就是返回了一个promise,调用reject方法,将reason参数传入
 
- 具体的promise解析靠的是promise的实现原理
 
Promise.reject= function(reason) {
    return new Promise((resolve, reject) => {
        reject(reason)
    })
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。