美文网首页
02_12.使用promise解决回调嵌套问题

02_12.使用promise解决回调嵌套问题

作者: Robyn_Luo | 来源:发表于2017-11-13 17:06 被阅读0次
<script>
    // 需求: 使用promise改造下面的代码
    // setTimeout(function() {
    //     console.log('第一个计时器回调执行,开启第二个');

    //     setTimeout(function() {
    //         console.log('第二个计时器回调执行,开启第三个');

    //         setTimeout(function() {
    //             console.log('第三个计时器回调执行');

    //         }, 2000);
    //     }, 2000);
    // }, 2000);

    /*---------------------------------------------------------------------------------------*/ 
    let p = new Promise(function(yes, no) {
        setTimeout(() => {
            yes();
        }, 2000);
    });

    // 上一个定时器执行完毕后, 开启下一个定时器
    p.then(function() { 
        console.log('第一个计时器回调执行,开启第二个');

        // 为了可以在外面调用该实例的then方法,只要return出去就可以了
        return new Promise(function(yes, no) {
            setTimeout(() => {
                yes();
            }, 2000);
        });

    })

    // 如果then回调中返回的是promise实例,那么我们就可以链式编程得到它
    .then(function() {
        console.log('第二个计时器回调执行,开启第三个');

        // 为了可以在外面调用该实例的then方法,只要return出去就可以了
        return new Promise(function(yes, no) {
            setTimeout(() => {
                yes();
            }, 2000);
        });
    })

    .then(function() {
        console.log('第三个计时器回调执行, 完毕');
    });

    </script>

相关文章

  • 解决异步问题——promise

    promise介绍 promise主要是为了解决嵌套回调的问题,使代码更加简洁,promise将嵌套的回调函数改成...

  • 02_12.使用promise解决回调嵌套问题

  • Promise

    1.为什么需要Promise 回调地狱回调函数中嵌套回调Promise解决了回调地狱 2. Promise 的基本...

  • Promise 基础用法

    Promise ,为什么会出现它,Promise 的出现,解决了哪些问题呢? 解决了回调地狱(嵌套)的问题,不会导...

  • Promise以及ajax嵌套

    Promise可以解决异步回调,不过从我使用来说,只适合于不同回调的嵌套或者更确切的说是有限的回调请求嵌套,而不适...

  • es6--Promise()用法

    promise是用来解决异步编程的书写问题。在使用js时,为了实现某些逻辑经常会写出层层嵌套的回调函数,如果嵌套过...

  • 《Promise》

    1、初识Promise Promise 是异步操作的一种解决方案Promise 一般用来解决层层嵌套的回调函数(回...

  • Generator函数

    一、背景知识   尽管Promise方法能够解决JS异步方法带来的嵌套地狱问题,但其本质上只是回调函数的改进,使用...

  • js中的异步操作

    Node.js 中读取文件 回调函数嵌套造成回调地狱 Promise Promise 是异步编程的一种解决方案,比...

  • Vue - day8

    day8 Promise 引入 回调地狱 回调函数中 嵌套 其他回调函数 例子: 多个文件依次读取 解决方法: ...

网友评论

      本文标题:02_12.使用promise解决回调嵌套问题

      本文链接:https://www.haomeiwen.com/subject/avwzmxtx.html