首页 > web前端 > js教程 > 构造函数应该返回 Promise 吗?

构造函数应该返回 Promise 吗?

Mary-Kate Olsen
发布: 2024-12-27 18:01:13
原创
448 人浏览过

Should Constructors Return Promises?

从构造函数返回 Promise 是否明智?

在编程领域,构造函数在新对象的创建。它用于初始化关键属性并建立对象的初始状态。然而,出现了一个挥之不去的问题:构造函数是否应该返回 Promise,从而可能延迟新创建对象的可用性?

Promise 返回构造函数的基本原理

当对象的初始化需要异步操作时,从构造函数返回 Promise 的吸引力就会出现。此类操作可能包括获取数据、解析文件或执行复杂的计算。通过利用 Promise,构造函数可以推迟对象的准备状态,直到这些任务完成。

Promise 返回构造函数的缺点

尽管 Promise 返回构造函数具有吸引力,它提出了几个缺点:

  • 破坏“新”运算符:构造函数应该专门返回其类的实例。相反,返回 Promise 会违反此约定,从而破坏基于运算符的新对象创建流程。
  • 继承并发症: 构造函数是类继承的基础。当构造函数返回 Promise 时,它​​会使继承层次结构变得复杂,可能会导致意外行为。
  • 构造函数芳香化:构造函数的主要功能是初始化对象的状态。在构造函数中执行异步操作会削弱其狭隘的焦点。

替代方法

为了解决与 Promise 返回构造函数相关的问题,建议使用替代方法:

  • 初始化后方法: 将异步操作推迟到专用方法而不是构造函数。这允许构造函数返回立即可用的对象,并允许使用 Promises 链接异步操作。
  • 工厂函数: 使用静态工厂函数来创建对象,特别是当构造过程涉及多个异步时步骤。这些函数可以返回 Promise,提供更大的灵活性,并将对象创建与其初始化解耦。

结论

虽然从构造函数返回 Promise 可能看起来像是呼吁异步初始化,这通常是一种不明智的做法。新运算符的潜在破坏、继承复杂性以及对构造函数唯一目的的偏离超过了感知到的好处。

以上是构造函数应该返回 Promise 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板