zoukankan      html  css  js  c++  java
  • es6 语法 (Promise)

    {
        // 基本定义
        let ajax = function(callback) {
            console.log('执行'); //先输出 1 执行
            setTimeout(function() {
                callback && callback.call()
            }, 1000);
        };
        ajax(function() {
            console.log('timeout1'); //后输出 timeout1
        })
    }
    
    {
        let ajax = function() {
            console.log('执行2'); //先输出 1 执行2
            return new Promise(function(resolve, reject) {
                setTimeout(function() {
                    resolve()
                }, 1000)
            })
        };
        ajax().then(function() {
            console.log('Promise', 'timeout2'); //后输出 timeout1 Promise timeout2
        })
    }
    
    {
        let ajax = function() {
            console.log('执行3'); //先输出 1 执行3
            return new Promise(function(resolve, reject) {
                setTimeout(function() {
                    resolve()
                }, 1000)
            })
        };
        ajax().then(function() {
                console.log('执行4'); //后输出 2 执行4
                return new Promise(function(resolve, reject) {
                    setTimeout(function() {
                        resolve()
                    }, 2000);
                });
            })
            .then(function() {
                console.log('timeout3'); //后输出 3 timeout3
            })
    }
    
    {
        let ajax = function(num) {
            console.log("执行5");
            return new Promise(function(resolve, reject) {
                if (num > 5) {
                    resolve()
                } else {
                    throw new Error("出错了");
                }
            });
        }
        ajax(6).then(function() {
            console.log("log", 6); //log 6
        }).catch(function(err) {
            console.log("catch", err);
        });
        ajax(3).then(function() {
            console.log("log", 3);
        }).catch(function(err) {
            console.log("catch", err); //catch Error: 出错了
        });
    }
  • 相关阅读:
    记一次简单的正则表达式匹配实践
    使用readlines()读取文件时出现/n及其解决办法
    浅谈http和https
    JVM GC回收原理的认识
    Mysql中语言分类和区别
    关于storm程序性能压测记录及总结
    Java 集合框架
    MySQL binlog底层主从同步原理
    Docker-Compose安装
    gcc手动安装
  • 原文地址:https://www.cnblogs.com/Byme/p/7718854.html
Copyright © 2011-2022 走看看