constructor中调用异步的处理

文章展示了如何在JavaScript中使用async函数和Promise处理异步操作。在两个类demo中,定义了异步方法l1,构造函数中调用该方法。通过await关键字确保异步操作完成后再执行后续代码,如f1方法。同时,run方法用来协调异步流程,确保l1Promise完成后调用f1。

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

  // class demo {
        //    constructor(){
        //         this.l1()
        //     }
        //     async l1(){
        //         let res =  await new Promise((resolve,reject)=>{
        //             setTimeout(() => {
        //                 resolve("1")
        //             }, 1000);
        //         })

        //         console.log('先执行');
        //     }
        //     f1(){
        //         console.log("再执行");
        //     }
        // }

        // let d1 = new demo()
        // d1.f1()


        class demo {
            constructor() {
                this.l1Promise = this.l1();
            }

            async l1() {
                let res = await new Promise((resolve, reject) => {
                    setTimeout(() => {
                        resolve("1");
                    }, 1000);
                });

                console.log('先执行');
            }

            f1() {
                console.log("再执行");
            }

            async run() {
                console.log(this.l1Promise,'this.l1Promise');
                await this.l1Promise;
                this.f1();
            }
        }

        let d1 = new demo();
        d1.run();
        d1.run();
        d1.run();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值