s***@163.com
s***@163.com
  • 发布:2023-07-06 09:34
  • 更新:2023-07-06 15:45
  • 阅读:226

【报Bug】uts new 对象,结果是却是单例

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: WIN11

手机系统: Android

手机系统版本号: Android 14

手机厂商: 华为

手机机型: HW

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: CLI

CLI版本号: 3.0.0-3061820230117001

示例代码:
// uts文件  
export class UDPClient {  
    private static packetId : Byte = 0;  

    private host : InetAddress;  
    private port : Int;  

    // private socket : DatagramSocket | null = null;  

    constructor(host : string, port : Int) {  
        this.host = InetAddress.getByName(host);  
        this.port = port;  

        console.log(">>>>" + port);  
    }  
}
demo.vue  
                    const client1 = new UDPClient("255.255.255.255", 8000);  
                    client1.send(msg, sendSuccessCallback, sendErrorCallback);  

                    const client2 = new UDPClient("255.255.255.255", 8001);  
                    client2.send(msg, sendSuccessCallback, sendErrorCallback);  

                    const client3 = new UDPClient("255.255.255.255", 8002);  
                    client3.send(msg, sendSuccessCallback, sendErrorCallback);  

                    const client4 = new UDPClient("255.255.255.255", 8003);  
                    client4.send(msg, sendSuccessCallback, sendErrorCallback);

操作步骤:

如上

预期结果:

产生多个实例,而不是单例
输出:

8000
8001
8002
8003

实际结果:

单例,都是同一个对象

输出:

8000

bug描述:

BGU: new UDPClient结果只实例了一个,后面的对象都是跟第一个对象同一个实例

2023-07-06 09:34 负责人:无 分享
已邀请:
DCloud_UNI_FXY

DCloud_UNI_FXY

已确认,下个版本修复

要回复问题请先登录注册