function sleep(time) {
return new Promise(resolve => {
console.log('executor 函数立即执行')
setTimeout(() => resolve(time), time)
})
}
console.log('1000 ms 之后醒来')
sleep(1000).then(() => { console.log('嗨起来!') })
sleep(1000).then(null, (e) => { console.log('error', e) })
Promise.reject(1).then((body) => {
console.log('success', body)
return Promise.reject(2)
}, null).then((body) => {
console.log('success', body)
return 3
}, (error) => {
console.log('error', error)
return 4
}).then((body) => {
console.log('success', body)
return a
}, (error) => {
console.log('error', error)
}).then((body) => {
console.log('success', body)
}, (error) => {
console.log('error', error)
}).then((body) => {
console.log('success', typeof body)
}, (error) => {
console.log('error', error)
})
Promise.all([sleep(100), Promise.resolve(1), 2]).then(body => {
console.log('success', body)
console.log(body)
})
Promise.all([sleep(100), Promise.reject(1), 2]).then(body => {
console.log('success', body)
console.log(body)
}, (error) => {
console.log('error', error)
})
Promise.all([]).then(body => {
console.log('success', body)
console.log(body)
})
Promise.all('').then(body => {
console.log('success', body)
console.log(body)
})
Promise.race([sleep(100), Promise.reject(1), 2]).then(body => {
console.log('success', body)
console.log(body)
}, (error) => {
console.log('error', error)
})
Promise.race([Promise.reject(1), 2]).then(body => {
console.log('success', body)
console.log(body)
}, (error) => {
console.log('error', error)
})
Promise.race([sleep(100), sleep(0)]).then(body => {
console.log('success', body)
console.log(body)
}, (error) => {
console.log('error', error)
})
Promise.resolve(1).finally(() => console.log('finally'))
Promise.reject(1).finally(() => console.log('finally'))
Promise.reject(1)
.then()
.then(null, error => console.log('错误处理 then', error))
.catch(error => console.log('错误处理 catch', error))
.finally(() => console.log('finally'))
const p = Promise.reject(2)
p.then()
p.then(null, error => console.log('错误处理 then', error))
p.catch(error => console.log('错误处理 catch', error))
p.finally(() => console.log('finally'))
console