• Lv0
    粉丝0

积分0 / 贡献0

提问1答案被采纳0文章0

作者动态

    const list = Object.keys(allData).map<ClockItem>(key => JSON.parse(allData[key]))报错 Function return type inference is limited

    巫淑倩 显示全部楼层 发表于 5 天前

    【问题描述】

    1.鸿蒙运行结果、错误

    export class ClockItem {

    hour: number = 0 minute: number = 0 id: string = '' reminderId: number = 0 enabled: boolean = false // 是否开启 } export class ClockStore { // 1.创建首选项实例 getStore() { return preferences.getPreferences(getContext(this), 'clockStore') } // 3.获取所有闹钟任务数据列表 async getAllClock() { // 获取实例 const store = await this.getStore() // 获取所有闹钟任务数据 const allData = await store.getAll() // 数据转换为数组 const list = Object.keys(allData).map<ClockItem>(key => JSON.parse(allData[key])) return list } }

    1. 代码key => JSON.parse(allData[key])报错Function return type inference is limite和Indexed access is not supported for fields
    2. 该怎么解决这两个错误

    【运行环境】

    硬件: ROM版本: DevEvoStudio版本: SDK版本:

    export class ClockItem {
      hour: number = 0
      minute: number  = 0
      id: string = ''
      reminderId: number = 0
      enabled: boolean = false // 是否开启
    }
    export class ClockStore {
       // 1.创建首选项实例
       getStore() {
         return preferences.getPreferences(getContext(this), 'clockStore')
       }
       // 3.获取所有闹钟任务数据列表
       async getAllClock() {
         // 获取实例
         const store = await this.getStore()
         // 获取所有闹钟任务数据
         const allData = await store.getAll()
         // 数据转换为数组
         const list = Object.keys(allData).map<ClockItem>(key => JSON.parse(allData[key]))
         return list
       }
    }

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    精彩评论1

    hyacinth养花人

    沙发 发表于 4 天前
    问题原因是这个: https://docs.openharmony.cn/page ... B%E6%A0%87%E6%B3%A8

    把类型加上就可以了
    // 获取所有闹钟任务数据
        const allData:ESObject = await store.getAll()
        // 数据转换为数组
        const list: ESObject = Object.keys(allData).map((key: string): ESObject => JSON.parse(allData[key]));

    Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

    返回顶部