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的拒绝

  • 相关阅读:
    Python自动化开发从浅入深-语言基础
    Python自动化开发从浅入深-初识Python
    python访问mysql
    列表和元组核心办法
    字典核新方法
    字符串的核心应用
    个人总结:字典并非完全无序
    Python 基础【二】 下
    Python 基础【二】 上
    windows开发的python移植到linux的问题
  • 原文地址:https://www.cnblogs.com/c-o-d-e/p/6642412.html
Copyright © 2011-2022 走看看