17-2、Promise的基本用法

50 阅读1分钟
<script>
    // 1.实例化构造函数生成实例对象
    // console.log(Promise);

    // Promise 解决的不是回调函数,而是回调地狱
    // const p = new Promise(() => { });

    // 2.Promise 的状态
    // const p = new Promise((resolve, reject) => {
    // Promise 有3种状态,一开始是 pending (未完成),执行resolve,变成fulfilled(resolved),已成功
    // 执行reject,变成rejected,已失败

    // Promise 的状态一旦变化,就不会再改变了
    // pending -> fulfilled
    // resolve();

    // pending -> fulfilled
    // reject();
    // });


    // 3.then方法
    // p.then(() => {
    // console.log('success');
    // }, () => {
    // console.log('error');
    // })


    // 4.resolve 和 reject 函数的参数
    const p = new Promise((resolve, reject) => {
        // Promise 有3种状态,一开始是 pending (未完成),执行resolve,变成fulfilled(resolved),已成功
        // 执行reject,变成rejected,已失败

        // Promise 的状态一旦变化,就不会再改变了
        // pending -> fulfilled
        // resolve('succ');
        // resolve({ username: 'alex' });

        // pending -> fulfilled
        // reject('reason');
        reject(new Error('reason'));
    });
    p.then(
        data => {
            console.log('success', data);
        }, err => {
            console.log('error', err);
        })




    console.log(p);

</script>