Promise解决回调嵌套问题

前言

node.js最大的特色就是利用回调函数的方式来异步执行,但是回调函数的出现引发了回调过度嵌套的问题(回调金字塔),例如a嵌套b,b再嵌套c,c再嵌套D。例如,我们模拟一个页面元素移动的功能,点A移动到B后,B再移动到C,C再移动到D,D再移动到E,使用函数嵌套的方式如下:

function movea() {
    console.log('我是A,我已经移动到B的位置了哦');
    moveb(function(value) {
        movec(function(value) {
            moved();
        })
    })
}

function moveb(callback) {
    console.log('我是B,我已经移动到C的位置了哦');

    callback();
}

function movec(callback) {
    console.log('我是C,我已经移动到D的位置了哦');

    callback();
}

function moved() {
    console.log('我是D,我已经移动完毕');
}

movea();

可以看到,movea函数里面有一层一层的嵌套,有没有什么办法可以解决此问题呢?答案是Promise。

什么是Promise

书上这么说:

Promise 是异步编程的一种解决方案,比传统的解决方案–回调函数和事件--
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值