leiyanting

导航

 
    (1) 简单表达: 由 then()指定的回调函数执行的结果决定
    (2) 详细表达:
      ① 如果抛出异常, 新 promise 变为 rejected, reason 为抛出的异常
      ② 如果返回的是非 promise 的任意值, 新 promise 变为 resolved, value 为返回的值
      ③ 如果返回的是另一个新 promise, 此 promise 的结果就会成为新 promise 的结果
        let p = new Promise((resolve, reject) => {
            resolve('ok');
        });
        //执行 then 方法
        let result = p.then(value => {
            // console.log(value);
            //1. 抛出错误
            throw '出了问题';
            //2. 返回结果是非 Promise 类型的对象
            return 521;
            //3. 返回结果是 Promise 对象
            return new Promise((resolve, reject) => {
                // resolve('success');
                reject('error');
            });
        }, reason => {
            console.warn(reason);
        });

        console.log(result);

 

posted on 2021-10-12 19:30  leiyanting  阅读(462)  评论(0编辑  收藏  举报