以下代码可以不写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();
可以在catch代码块里加一个return或在try catch外加一个return解决报错问题。