promise静态方法

140 阅读1分钟
const p1 = new Promise(resolve => {
    setTimeout(() => {
        resolve('hello')
    },100)
})
const p2 = new Promise(resolve => {
    setTimeout(() => {
        resolve('word')
    },100)
})
// promise对象内置的3个静态方法

// 1.Promise.all 来实现并发请求
Promise.all([p1,p2]).then(res => {
    console.log(res)
})
// 2.Promise.resolve
Promise.resolve('静态方法——resolve').then(res => {
    console.log(res)
})


Promise.resolve('hello')
// 相当于
const promise = new Promise(resolve => {
    resolve('hello')
})


//3.Promise.reject
Promise.reject('22')
// 相当于
const promise = new Promise(reject => {
    reject('22')
})
// promise的创建和调用

//1.这样创建的promise对象可以直接调用promise.then(res=> {console.log(res)}),因为只有promise可以链式调用.then

const promise = new Promise(resolve => {
    resolve('hello')
})
promise.then(res=> {console.log(res)})

Promise.all([p1,p2]).then(res => {
    console.log(res)
})
//2. 匿名函数返回一个promise对象赋值给一个变量
const promise = () => {
    return new Promise(resolve => {
        resolve('hello')
    })
}
promise().then(res => {
    console.log(res)
})
Promise.all([p1(),p2()]).then(res => {
    console.log(res)
})