Promise

2020-08-30  本文已影响0人  ynwshy

new Promise() 是同步任务 会先打印 start
then 方法里是异步微任务

let p=new Promise(function (resolve,reject) {
        console.log('start');
        setTimeout(function () {
            resolve('ok');
            reject('no');
        },1000);
    });
    p.then(function (n) {
        console.log(n);
    },function (n) {
        console.log(n);
    });

Promise.all 基本使用

Promise.all([
    new Promise(function (resolve, reject) {
        console.log(1)
        setTimeout(() => {
            console.log('time')
            resolve('a')
        }, 500)
    }),
    new Promise(function (resolve, reject) {
        console.log(2)
        resolve('b')
        //   reject('no')
    }),
    new Promise(function (resolve, reject) {
        console.log(3)
        resolve('c')
    })
]).then(resArr => {
    console.log(resArr) // 1 2 3 time    ["a", "b", "c"]
}).catch(err => {
    console.log(err) // 1 2 3 time   'no'
})
上一篇 下一篇

猜你喜欢

热点阅读