• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import { AsyncCallback, BusinessError, Callback, ErrorCallback } from '@ohos.base';
2import hilog from '@ohos.hilog';
3
4const SYNTAX_ERROR_CODE: double = 1002;
5
6export class MyCallback {
7  static myCallback(callback: Callback<string>): void {
8    hilog.info(0x0000, 'testTag', 'myCallback');
9    callback('myCallback');
10  }
11
12  static myAsyncCallback(callback: AsyncCallback<string, string>): void {
13    hilog.info(0x0000, 'testTag', 'myAsyncCallback');
14    let error = new Error('Business Error', 'basicError2 message', undefined);
15    let be2: BusinessError<string> = new BusinessError<string>(SYNTAX_ERROR_CODE, error);
16    callback(be2, 'yAsyncCallback');
17  }
18
19  static myErrorCallback(callback: ErrorCallback<BusinessError<string>>): void {
20    hilog.info(0x0000, 'testTag', 'myErrorCallback');
21    let error = new Error('Business Error', 'myErrorCallback message', undefined);
22    let result: string = 'test';
23    let be: BusinessError<string> = new BusinessError<string>(SYNTAX_ERROR_CODE, result, error);
24    callback(be);
25  }
26
27  static runCasesOfCallback() {
28    MyCallback.myCallback((data: string) => {
29      hilog.info(0x0000, 'testTag', 'MyCallback' + data);
30    })
31    MyCallback.myAsyncCallback((error: BusinessError<string> | null, result: string | undefined) => {
32      hilog.info(0x0000, 'testTag', `myAsyncCallback, error: ${error?.message}, result:${result}`);
33    })
34    MyCallback.myErrorCallback((error: BusinessError<string>) => {
35      hilog.info(0x0000, 'testTag', `myAsyncCallback, error: ${error.message}`);
36    })
37  }
38}