export interface IVoiceRecordListener<T> {
onSuccess:(t: T)=> void
onFailed:(code: string, reason: string)=> void
}
let voiceRecordListenerInstance: IVoiceRecordListener<void> = {
onSuccess: () => {
console.log('success')
},
onFailed: () => {
console.log('failed')
}
}
// 原先
class A {
foo() {
let a = new class {
v: number = 123
}();
}
}
// 现在
class A {
foo() {
class B {
v: number = 123
}
let b = new B();
}
}
不支持,需要显式标注对象字面量的类型,可以参考以下文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...
建议使用嵌套类实现(类内部嵌套匿名类)。因为使用匿名类创建的对象类型未知,这与ArkTS不支持structural typing和对象字面量的类型冲突,可以参考以下方案: