HarmonyOS linter检测:async函数中的try/catch的return问题

以下代码可以不写return,但是linter规则必须要加return,甚至在catch之外加个空的return都行,该如何修改这种linter规则。

import abilityAccessCtrl, { Permissions } from '@ohos.abilityAccessCtrl'
import { bundleManager } from '@kit.AbilityKit';


class PermissionManager {
  private atManager!: abilityAccessCtrl.AtManager
  private tokenID: number = 0;

  constructor() {
    this.atManager = abilityAccessCtrl.createAtManager();
    this.getToken();
  }

  async getToken() {
    if (this.tokenID) return this.tokenID;
    const bundleInfo = await bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION);
    this.tokenID = bundleInfo.appInfo.accessTokenId;
    return this.tokenID;
  }

  async checkPermission(permission: Permissions) {
    try {
      const grantStatus: abilityAccessCtrl.GrantStatus = await this.atManager.checkAccessToken(this.tokenID, permission);
      console.info('[log] checkPermission Successfully.', JSON.stringify(grantStatus));
      return grantStatus;
    } catch(e) {
      console.error(`[log] checkPermission error: ${JSON.stringify(e)}`);
    }
  }
}

export const permissionManager = new PermissionManager();
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
HarmonyOS
2024-12-28 07:40:55
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zxjiu

可以在catch代码块里加一个return或在try catch外加一个return解决报错问题。

async checkPermission(permission: Permissions) {
  try {
    const grantStatus: abilityAccessCtrl.GrantStatus = await this.atManager.checkAccessToken(this.tokenID, permission);
    console.info('[log] checkPermission Successfully.', JSON.stringify(grantStatus));
    return grantStatus;
  } catch(e) {
    console.error(`[log] checkPermission error: ${JSON.stringify(e)}`);
  }
  return ;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
分享
微博
QQ
微信
回复
2024-12-28 10:59:13
相关问题
HarmonyOS try catch是异步执行吗?
752浏览 • 1回复 待解决
code linter 校验return Promise<string>类型
2352浏览 • 1回复 待解决
HarmonyOS catch error问题
855浏览 • 1回复 待解决
HarmonyOS 使用async 、await 含义
633浏览 • 1回复 待解决
HarmonyOS forEach return退出循环
904浏览 • 1回复 待解决
HarmonyOS Promise,await/async 线程模型
724浏览 • 1回复 待解决
Promise 与 Async/Await 比较
1061浏览 • 1回复 待解决
HarmonyOS 人脸活体检测问题
979浏览 • 1回复 待解决
HarmonyOS occur exception need return错误
696浏览 • 1回复 待解决
HarmonyOS arkts-no-implicit-return-types
616浏览 • 1回复 待解决