ECMAScript-Promise/Async/Await

看完这个代码示例就明了了:

// Promise
const hoge = value => {
  return new Promise(resolve => {
        setTimeout(() => {
            resolve(value * 2);
        }, 1000);
    })
}

const fuga = value => {
  return new Promise(resolve => {
        setTimeout(() => {
            resolve(value * 3);
        }, 500);
    })
}

const promiseAllSample = () => {
    const promise1 = hoge(5);
    const promise2 = hoge(10);
    const promise3 = promise2.then(value => {
        return fuga(value);
    });

    return Promise.all([promise1, promise2, promise3]);
}

promiseAllSample().then(([a, b, c]) => {
    console.log(a, b, c); // => 10 20 60
});
// Async/Await
const hoge = value => {
  return new Promise(resolve => {
        setTimeout(() => {
            resolve(value * 2);
        }, 1000);
    })
}

const fuga = value => {
  return new Promise(resolve => {
        setTimeout(() => {
            resolve(value * 3);
        }, 500);
    })
}

const promiseAllSample = async () => {
    const [a, b] = await Promise.all([hoge(5), hoge(10)]);
    const c = await fuga(b);

    return [a, b, c];
}

promiseAllSample().then(([a, b, c]) => {
    console.log(a, b, c); // => 10 20 60
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值