前端JavaScript基础训练系列一百五十八: resolve 和 reject

本文讨论了Promise在JavaScript中的使用,如何通过事件侦听实现关注点分离,以及两种异步模式(分割与复制)在处理Promise决议时的不同策略。重点强调了Promise的决议结果在链式调用中的不变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个很重要的好处是,可以把这个事件侦听对象提供给代码中多个独立的部分;在 foo(…) 完成的时候,它们都可以独立地得到通知,以执行下一步:

    var evt = foo( 42 );
// 让bar(..)侦听foo(..)的完成 bar( evt );
// 并且让baz(..)侦听foo(..)的完成 baz( evt );

对控制反转的恢复实现了更好的关注点分离,其中 bar(…) 和 baz(…) 不需要牵扯到 foo(…) 的调用细节。类似地,foo(…) 不需要知道或关注 bar(…) 和 baz(…) 是否存在, 或者是否在等待 foo(…) 的完成通知。
从本质上说,evt 对象就是分离的关注点之间一个中立的第三方协商机制。 Promise“事件”
你可能已经猜到,事件侦听对象 evt 就是 Promise 的一个模拟。
在基于 Promise 的方法中,前面的代码片段会让 foo(…) 创建并返回一个 Promise 实例,而 且这个 Promise 会被传递到 bar(…) 和 baz(…)。

我们侦听的 Promise 决议“事件”严格说来并不算是事件(尽管它们实现目 标的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值