使用Promise代替进行回调

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Promise代替进行回调相关的知识,希望对你有一定的参考价值。

Promise所要解决的问题:回调地狱

asyncTask1(data, function (data1){

    asyncTask2(data1, function (data2){

        asyncTask3(data2, function (data3){
                // .... 魔鬼式的金字塔还在继续
        });

    });

});

Promise是一种写法,并非必不可少

Promise更像是一种漂亮的形式,它能减少代码嵌套。
在Java中,Promise形式的写法让Java变得不那么像汇编语言。

class Person {
    int age;
    String name;

    Person setAge(int age) {
        this.age = age;
        return this;
    }

    Person setName(String name) {
        this.name = name;
        return this;
    }
}
//使用时
Person p=new Person().setAge(20).setName("haha");

参考资料

Promise的前世今生和妙用技巧

以上是关于使用Promise代替进行回调的主要内容,如果未能解决你的问题,请参考以下文章

前端面试题之手写promise

浅谈Async/Await

async 和 await

JavaScript中Promise 使用详解

Promise和异步编程

Deferred