diff --git a/common/src/main/ets/manager/UpdateManager.ts b/common/src/main/ets/manager/UpdateManager.ts index 9b17f0e86d4a700c2cb6e5c18beb2617f4825b2b..3c32f48202abd2c6e43ea1b2d590b6e3d9842d07 100644 --- a/common/src/main/ets/manager/UpdateManager.ts +++ b/common/src/main/ets/manager/UpdateManager.ts @@ -18,6 +18,7 @@ import update from '@ohos.update'; import { PACKAGE_NAME, UpdateState, UpgradeCallResult, } from '../const/update_const'; import type { BusinessError, OtaStatus, UpgradeData} from '../const/update_const'; import { LogUtils } from '../util/LogUtils'; +import { UpdateUtils } from '../util/UpdateUtils'; /** * 方法超时控制装饰器 @@ -227,19 +228,19 @@ export class UpdateManager implements IUpdate { language: descLanguage }; return new Promise((resolve, reject) => { - this.otaUpdater?.getCurrentVersionDescription(options).then((result: Array) => { + this.otaUpdater?.getCurrentVersionDescription(options, (err, result) => { this.log('getCurrentVersionDescription result:' + JSON.stringify(result)); let upgradeData: UpgradeData> = { callResult: UpgradeCallResult.OK, - data: result - }; - resolve(upgradeData); - }).catch((err: BusinessError) => { - this.logError('getCurrentVersionDescription err:' + JSON.stringify(err)); - let upgradeData: UpgradeData> = { - callResult: UpgradeCallResult.ERROR, - error: err + data: result, + error: { + data: [{ errorCode: err?.data?.[0]?.errorCode }] + } }; + if (!UpdateUtils.isSuccessCallback(result, err)) { + this.logError('getCurrentVersionDescription error is ${JSON.stringify(err)}'); + upgradeData.callResult = UpgradeCallResult.ERROR; + } resolve(upgradeData); }); }); diff --git a/common/src/main/ets/util/UpdateUtils.ets b/common/src/main/ets/util/UpdateUtils.ets index 6932467be94f6929669aba6c23be82b1d9c85eb8..1537fdd76efdb8b73c698c077d8bdfb5f8c0ab56 100644 --- a/common/src/main/ets/util/UpdateUtils.ets +++ b/common/src/main/ets/util/UpdateUtils.ets @@ -69,4 +69,14 @@ export namespace UpdateUtils { LogUtils.error(TAG, 'Failed to start ability with error: ' + JSON.stringify(error)); }); } + + /** + * 接口调用结果判断 + * + * @param err 返回信息 + * @param return 接口调用结果 + */ + export function isSuccessCallback(result: unknow, err: any): boolean { + return result && !err; + } } \ No newline at end of file