#鸿蒙通关秘籍#在HarmonyOS中如何封装和处理网络请求返回的数据?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
编程小先锋
  1. 封装网络请求方法,将请求处理与数据处理进行分离。
  2. 使用BaseResponse类进行返回数据的封装。
  3. 在请求类中写一个通用的方法,例如pageRefresh,以处理各种数据返回。
    public pageRefresh(success: boolean, page: number, total: number, data: Array<T>, controller: RefreshController, pageNums: (pages: number) => void) {
      if (success) {
        if (page == 1) {
          this.setNewData(data);
          controller.refreshSuccess();
          pageNums(2);
    
          if (this.totalCount() == 0) {
            controller.viewEmpty();
          }
        } else {
          this.addAllData(data);
          controller.loadSuccess();
          pageNums(data.length == 0 ? page : (page + 1));
        }
        controller.hasMore(this.totalCount() < total)
      } else {
        if (controller.getStatus() == PullStatus.Refresh) {
          controller.refreshError();
        } else {
          controller.loadError();
        }
        if (page == 1) {
          controller.viewError();
        }
      }
    }
    
  4. 处理加载成功、失败、空数据等各种场景,从而提升用户体验。
分享
微博
QQ
微信
回复
1天前
相关问题
网络请求数据处理
338浏览 • 1回复 待解决
webview如何拦截网络请求
535浏览 • 1回复 待解决
网络请求数据处理问题
308浏览 • 1回复 待解决