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}