zoukankan      html  css  js  c++  java
  • promise 笔记

    拒绝

    var promise=new Promise(function(resolve,reject){

                throw new Error(0);

            });

            promise.then(function(arg){

                console.log(arg);

            }).catch(function(arg){

                console.log('c' + arg);//走这

            });

    var promise=new Promise(function(resolve,reject){

                reject(0);

            });

            promise.then(function(arg){

                console.log(arg);

            },function(arg){

                console.log('j' + arg);//走这

            }).catch(function(arg){

                console.log('c' + arg);

    异常

    var promise=new Promise(function(resolve,reject){

                throw new Error(0);

            });

            promise.then(function(arg){

                console.log(arg);

            }).catch(function(arg){

                console.log('c' + arg);//走这

            });

    var promise=new Promise(function(resolve,reject){

                reject(0);

            });

            promise.then(function(arg){

                console.log(arg);

            },function(arg){

                console.log('j' + arg);//走这

            }).catch(function(arg){

                console.log('c' + arg);

    then() cath()会构建和返回一个promise实例

    var promise=new Promise(function(resolve,reject){

                throw new Error('x');

            });

            promise.then(function(arg){

                console.log(arg);

                return 'xx';//返回给下一个thenresolve(抛异常也是下一个thenresolve

            },function(arg){

                console.log('reject' + arg);

                return 'xx';//返回给下一个thenreject

            }).catch(function(arg){

                console.log('cathc' + arg);

            })

            .then(function(data){

                console.log('last resolve:' + data);

            },function(data){

                console.log('last reject:' + data);

            });

    延迟,异步异常

    var promise = new Promise(function(resolve, reject) {

                setTimeout(function() {

                    reject('x');//可以捕获,如果是 throw 一个error就无法捕获

                });

            });

            promise.then(function(arg) {

                    console.log('resole:' + arg);

                }, function(arg) {

                    console.log('reject' + arg);

                })

                .catch(function(arg) {

                    console.log('cathc:' + arg);

                })

    补充:

    window.addEventListener("unhandledrejection", function (event) {

      console.warn("WARNING: Unhandled promise rejection. Shame on you! Reason: "

                   + event.reason);});

    用来捕获拒绝,window.onerror只是捕获异常不会捕获promise的拒绝

  • 相关阅读:
    解决在macOS下安装了python却没有pip命令的问题【经验总结】
    Mac OS下安装MongoDB以及配置方法总结【笔记】
    web上常见的攻击方式及简单的防御方法
    Destoon二开必看执行流程
    网站入侵注入的几种方法总结【笔记】
    命令检测站点是否使用CDN加速
    织梦xss通杀所有版本漏洞【学习笔记】
    让你知晓内容安全的边界:盘点2017、2018这两年的内容监管
    知物由学 | AI网络安全实战:生成对抗网络
    人工智能热门图书(深度学习、TensorFlow)免费送!
  • 原文地址:https://www.cnblogs.com/c-o-d-e/p/6642412.html
Copyright © 2011-2022 走看看