【重点】JavaScript里的异步构造函数【兼容uni-app的app端】

10 篇文章 0 订阅

参考:JS里的异步构造函数

constructor(async_constructor = null) {
        /**
         * 功能:封装【自定义】的异步构造函数【同时兼容同步和异步,且兼容uni-app的APP端】
         * 特殊说明:
         *      1、既然为异步构造函数,那么继承子类给this对象添加属性必须全部在asyncFunc方法实现!
         *      2、在继承子类的构造函数中,this对象为一个promise对象,为此asyncFunc方法内部才是this原始对象!
         *      3、【注】使用异步构造函数实现【异步实例】JavaScript的语法提示不是很管用!
         * 参数:
         *      asyncConstructor:需异步初始化的其他功能【继承子类为this添加属性,必须在此方法实现】
         * 务必注意:
         *      1、虽然JavaScript提供了一个异步构造函数的库【async-constructor】但是此库不兼容uni-app的【APP端】
         */

        const _asyncEmptyFunc = async () => {
            console.log("【>>==<<】正在使用【自定义】异步构函数函数中...");
        };

        const init = (async () => {
            /**
             * 1、这里必须实现一个await,否则会卡死!
             */
            await _asyncEmptyFunc();
            async_constructor && async_constructor();
            delete this.then;
            return this;
        })();
        this.then = init.then.bind(init);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值