zoukankan      html  css  js  c++  java
  • es6

    带着以下疑问来解答以下问题,你会学到很多

    1. 回调深渊为什么会出现,为什么需要回调 ?

    2. ES6为什么会出现Promise?

    3. 回调的作用是什么? 跟闭包有关吗?

    ES5 ~ ES6 回调深渊  -示例

     1 // 回调深渊 - 实例
     2 function callbackAbyss(a, b, cb) {
     3     setTimeout(function () {
     4         cb(a + b);
     5     }, 200)
     6 }
     7 
     8 // 回调深渊 - 调用
     9 callbackAbyss(1, 2, function (result) {
    10     let count = 1;
    11     if (result > 2) {
    12         console.log('回调深渊第' + count++ + '次输出结果:', result);
    13         callbackAbyss(result, 2, function (result) {
    14             console.log('回调深渊第' + count++ + '次输出结果:', result);
    15             if (result > 4) {
    16                 callbackAbyss(result, 2, function (result) {
    17                     console.log('回调深渊第' + count + '次输出结果:', result);
    18                 })
    19             }
    20         })
    21     }
    22 })
    23 
    24 
    25 
    26 // 回调深渊 - ES6 - 实例
    27 function callbackAbyssEs6(a, b, cb) {
    28     return new Promise(function (resolve, reject) {
    29         setTimeout(function () {
    30             resolve(a + b);
    31         }, 1000)
    32     })
    33 }
    34 // 回调深渊 - ES6 - 调用
    35 callbackAbyssEs6(1, 2)
    36     .then(function (result) {
    37         if (result > 2) {
    38             console.log('es6回调深渊第1次输出结果:', result);
    39             return callbackAbyssEs6(2, result);
    40         }
    41     })
    42     .then(function (result) {
    43         if (result > 4) {
    44             return callbackAbyssEs6(result, 2);
    45         }
    46     })
    47 // ... then(function())
  • 相关阅读:
    C#中 @ 的用法
    ASP.NET页面间传值
    ASP.NET中常用的文件上传下载方法
    把图片转换为字符
    把图片转换为字符
    JavaScript 时间延迟
    Using WSDLs in UCM 11g like you did in 10g
    The Definitive Guide to Stellent Content Server Development
    解决RedHat AS5 RPM安装包依赖问题
    在64位Windows 7上安装Oracle UCM 10gR3
  • 原文地址:https://www.cnblogs.com/cisum/p/9435476.html
Copyright © 2011-2022 走看看