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: 出错了
        });
    }
  • 相关阅读:
    【07】关于相等 Equals
    【06】拆箱、装箱
    【05】CTS、CLS、CLR
    判断属性存在于原型而非对象的方法
    Javascript打印网页局部的实现方案
    Jquery获取DOM绑定事件
    Bug 级别定义标准
    JavaScript中的数据类型
    <script>元素在XHTML中的用法
    CSS深入理解学习笔记之float
  • 原文地址:https://www.cnblogs.com/Byme/p/7718854.html
Copyright © 2011-2022 走看看