promise顺序执行和并行执行的简单示例。

function fn1() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log(1)
            resolve()
        }, 2000)
    })
}
function fn2() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log(2)
            resolve()
        }, 1000)
    })
}
function fn3() {
    return new Promise((resolve, reject) => {
        console.log(3)
        resolve()
    })
}

// 顺序执行(利用回调)
fn1().then(() => {
    fn2().then(() => {
        fn3().then(() => {
            console.log('end')
        })
    })
}) // 打印结果:1, 2, 3, end

// 顺序执行(利用Promise.resolve)
Promise.resolve()
.then(fn1)
.then(fn2)
.then(fn3)
.then(() => {
    console.log('end')
}) // 打印结果:1, 2, 3, end

// 并行执行(利用Promise.all)
Promise.all([fn1(), fn2(), fn3()])
.then(() => {
    console.log('end')
}) // 打印结果:3, 2, 1, end

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值