• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * Copyright (c) 2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15import { AsyncCallback, BusinessError, Callback, ErrorCallback } from '@ohos.base';
16import hilog from '@ohos.hilog';
17
18const SYNTAX_ERROR_CODE: double = 1002;
19
20export class MyCallback {
21  static myCallback(callback: Callback<string>): void {
22    hilog.info(0x0000, 'testTag', 'myCallback');
23    callback('myCallback');
24  }
25
26  static myAsyncCallback(callback: AsyncCallback<string, string>): void {
27    hilog.info(0x0000, 'testTag', 'myAsyncCallback');
28    let error = new Error('Business Error', 'basicError2 message', undefined);
29    let be2: BusinessError<string> = new BusinessError<string>(SYNTAX_ERROR_CODE, error);
30    callback(be2, 'yAsyncCallback');
31  }
32
33  static myErrorCallback(callback: ErrorCallback<BusinessError<string>>): void {
34    hilog.info(0x0000, 'testTag', 'myErrorCallback');
35    let error = new Error('Business Error', 'myErrorCallback message', undefined);
36    let result: string = 'test';
37    let be: BusinessError<string> = new BusinessError<string>(SYNTAX_ERROR_CODE, result, error);
38    callback(be);
39  }
40
41  static runCasesOfCallback() {
42    MyCallback.myCallback((data: string) => {
43      hilog.info(0x0000, 'testTag', 'MyCallback' + data);
44    })
45     MyCallback.myAsyncCallback((error: BusinessError<string> | null, result: string | undefined) => {
46      hilog.info(0x0000, 'testTag', `myAsyncCallback, error: ${error?.message}, result:${result}`);
47    })
48    MyCallback.myErrorCallback((error: BusinessError<string>) => {
49      hilog.info(0x0000, 'testTag', `myAsyncCallback, error: ${error.message}`);
50    })
51  }
52}