浅层次理解Promise思想及其简单应用
发布日期:2021-05-12 21:17:52 浏览次数:18 分类:精选文章

本文共 3505 字,大约阅读时间需要 11 分钟。

Promise������������

���������Promise���

Promise ��� ES6 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

Promise���������

Promise ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������

function getData1() {
setTimeout(() => {
getData2();
}, 1000);
}
function getData2() {
setTimeout(() => {
getData3();
}, 1000);
}

������

���������������������������������������������������������������������������������������������������

������������-Promise

Promise ������������������������������������������������������������������������������������������������������������������

������������

new Promise((resolve, reject) => {
setTimeout(() => {
// ��������� resolve ������ Promise ���������������
resolve('Hello World');
}, 1000);
}).then(data => {
// ������������������
console.log(data);
})

������������

new Promise((resolve, reject) => {
setTimeout(() => {
reject('������������');
}, 1000);
}).then(data => {
// ������������������
}).catch(err => {
// ������������
console.log(err);
});

Promise���������

  • ������������������Promise ���������������������pending���resolved ��� rejected ���������
  • ���������������������.then()������������������ Promise������������������������������
  • ���������������������������������������������������������������������
  • Promise���������������

    ������������������

    new Promise(resolve => {
    setTimeout(() => {
    resolve('������������');
    }, 1000);
    }).then(data => {
    // ������������
    return new Promise(resolve => {
    setTimeout(() => {
    resolve(data + '111');
    }, 1000);
    }).then(() => {
    return new Promise(resolve => {
    setTimeout(() => {
    resolve(data + '222');
    }, 1000);
    }).then(() => {
    console.log('������������������');
    });
    });
    });

    ������������

    new Promise(resolve => {
    setTimeout(() => resolve('������������'), 1000);
    }).then(() => {
    setTimeout(() => {
    console.log('������������������');
    }, 1000);
    }).catch(() => {
    // ������������
    });

    Promise���������������

  • ��������������������������� catch() ������������ try...catch���
  • ������������������������������ Promise ������������������������
  • ��������������������������� throw() ������������������������������
  • ������������������������ Promise.mutate() ������������������������������
  • Promise ���������������

    Promises ������������������pending���resolved���������������rejected���������������������������������������������������������

    ���������������

    ������ Promise ���������������
    ������������������ ������������ ���
    ������������������ ��� ������������������������
    ������������������ ������ ���
    ������������������ ������������ ������������������

    ##Totales

    ������

    ��������������������������� Promise ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Promise ���������������������������������������������

    上一篇:Github的使用——项目托管(vue项目初始化、github仓库建立、提交项目)
    下一篇:JS中的三种继承模式(原型链继承、借用构造函数继承、组合继承及ES6中class的实现原理)

    发表评论

    最新留言

    做的很好,不错不错
    [***.243.131.199]2025年04月05日 18时01分52秒