深圳奥飞网络
深圳奥飞网络
  • 发布:2023-10-10 10:31
  • 更新:2023-10-19 23:50
  • 阅读:818

uts的递归问题

分类:uts
breathe():void{  
    // this.breatheCount = 0  
    if(this.breatheCount > 2){  
            return  
    }  
    this.breatheCount ++  
    this.breathe()  
},

这行代码,提示错误

error: Type checking has run into a recursive problem. Easiest workaround: specify types of your declarations explicitly‌  
// 错误:类型检查遇到递归问题。最简单的解决方法:显式指定声明的类型‌  

这个还需要怎么申明类型?

2023-10-10 10:31 负责人:无 分享
已邀请:

最佳回复

DCloud

DCloud

HBuilderX 3.93.2023101913-alpha 已修复。

  • 深圳奥飞网络 (作者)

    谢谢,已看到,更新日志里竟然还引用我的贴子,倍感荣幸

    2023-10-20 10:08

爱豆豆

爱豆豆 - 办法总比困难多

可以先用 class的写法先实现这个效果
使用:new breatheTemp(1).breathe()

class breatheTemp {  
        breatheCount = 0;  
        constructor(count:number) {  
                this.breatheCount = count;  
        }  
        breathe():void{    
            if(this.breatheCount > 2){    
        console.log('结束',this.breatheCount)  
                return;    
            }    
            this.breatheCount++;    
            this.breathe();    
        }  
    }
  • 爱豆豆

    breathe():any {

    new breatheTemp(this.breatheCount).breathe()

    }

    2023-10-10 11:50

  • 深圳奥飞网络 (作者)

    受教了,class里确实可以

    2023-10-10 16:33

DCloud_UNI_FXY

DCloud_UNI_FXY

已确认Bug,目前可以先不使用递归来绕过

爱豆豆

爱豆豆 - 办法总比困难多

breathe():any{    
    // this.breatheCount = 0    
    if(this.breatheCount > 2){    
            return  false  
    }    
    this.breatheCount ++    
    this.breathe()    
},

要回复问题请先登录注册