浅议 Promise/Futures 模型 [每日前端夜话(0x11)]
16lz
2021-01-22
翻译:疯狂的技术宅原文:http://davidshariff.com/blog/futures-and-promises-in-javascript/
随着 JavaScript 使用的不断增加,异步事件驱动的应用程序变得越来越流行。 但是,许多开发者经常面临的一个问题是:在异步环境中进行依赖于结果的操作。
你可能经常会遇到类似的情况:
由于每个步骤都需要前面的步骤结果,所以经常会看到在回调中嵌套回调函数的模式。 这些嵌套回调最终会难以在较大的异步应用程序中维护、理解和规范。 简单的异步流程会变得越来越复杂。
在这种情况下使用的解决方案是 Promise/Futures 模型,它表示尚未发生的回调结果。 这个概念非常简单,它不是在一个函数返回结果之前阻塞并等待其完成,而是在调用对象时立即返回其承诺的将要完成的结果。 这会导致非阻塞行为:
使用 Promise / Future 模型编写代码可以享受到使用嵌套回调的大部分优点,同时能够使代码更清晰,更结构化,在大多数异步环境下,这些代码更易于维护,理解和规范。
Promise / Future并不是最终解决方案,还有很多其他解决方案,这些解决方案也都有各自的优缺点,应该针对不同的情况使用它们。
©著作权归作者所有:来自51CTO博客作者mb5ff980b461ced的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 超级好用的RabbitMQ 消息 100% 投递的解决方案!
- 全息金融行业数据安全解决方案
- 关于新版Anaconda(v5.1.0)安装后可能出现的跟 nodejs 错误相关问题
- php文件锁产生的问题和解决方案(一个真实案例)
- PHP 并发场景的 3 种解决方案
- 详细解说三种PHP嵌套HTML的写法
- 分享几种PHP并发场景的解决方案
- PHP下ajax跨域的解决方案之window.name实例分析详解
- 分析PHP下ajax跨域的解决方案之jsonp实例