mirror of
https://github.com/openharmony/ability_ability_runtime.git
synced 2026-08-25 12:23:20 -04:00
upd BusinessError
Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com>
This commit is contained in:
@@ -19,7 +19,6 @@ group("ani_packages") {
|
||||
"${ability_runtime_path}/frameworks/ets/ani/ability_delegator:ability_delegator_registry_ani_kit",
|
||||
"${ability_runtime_path}/frameworks/ets/ani/ani_common:ani_common",
|
||||
"${ability_runtime_path}/frameworks/ets/ani/native_constructor:context_ani",
|
||||
"${ability_runtime_path}/frameworks/ets/ani/uri_permission_manager:uri_permission_manager_abc_etc",
|
||||
"${ability_runtime_path}/frameworks/ets/ani/uri_permission_manager:uri_permission_manager_ani_kit",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -459,26 +459,29 @@ bool AsyncCallback(ani_env *env, ani_object call, ani_object error, ani_object r
|
||||
TAG_LOGE(AAFwkTag::ANI, "null env");
|
||||
return false;
|
||||
}
|
||||
ani_status status = ANI_ERROR;
|
||||
ani_class clsCall = nullptr;
|
||||
|
||||
if ((status = env->FindClass(CLASSNAME_ASYNC_CALLBACK_WRAPPER, &clsCall)) != ANI_OK) {
|
||||
TAG_LOGE(AAFwkTag::ANI, "status: %{public}d", status);
|
||||
ani_status status = env->FindClass(CLASSNAME_ASYNC_CALLBACK_WRAPPER, &clsCall);
|
||||
if (status!= ANI_OK || clsCall == nullptr) {
|
||||
TAG_LOGE(AAFwkTag::ANI, "FindClass status: %{public}d, or null clsCall", status);
|
||||
return false;
|
||||
}
|
||||
ani_method method = nullptr;
|
||||
if ((status = env->Class_FindMethod(
|
||||
clsCall, "invoke", "L@ohos/base/BusinessError;Lstd/core/Object;:V", &method)) != ANI_OK) {
|
||||
TAG_LOGE(AAFwkTag::ANI, "status: %{public}d", status);
|
||||
if ((status = env->Class_FindMethod(clsCall, "invoke", nullptr, &method)) != ANI_OK || method == nullptr) {
|
||||
TAG_LOGE(AAFwkTag::ANI, "Class_FindMethod status: %{public}d, or null method", status);
|
||||
return false;
|
||||
}
|
||||
if (result == nullptr) {
|
||||
if (error == nullptr) {
|
||||
ani_ref nullRef = nullptr;
|
||||
env->GetNull(&nullRef);
|
||||
result = reinterpret_cast<ani_object>(nullRef);
|
||||
error = reinterpret_cast<ani_object>(nullRef);
|
||||
}
|
||||
if (result == nullptr) {
|
||||
ani_ref undefinedRef = nullptr;
|
||||
env->GetUndefined(&undefinedRef);
|
||||
result = reinterpret_cast<ani_object>(undefinedRef);
|
||||
}
|
||||
if ((status = env->Object_CallMethod_Void(call, method, error, result)) != ANI_OK) {
|
||||
TAG_LOGE(AAFwkTag::ANI, "status: %{public}d", status);
|
||||
TAG_LOGE(AAFwkTag::ANI, "Object_CallMethod_Void status: %{public}d", status);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -82,24 +82,4 @@ ohos_shared_library("uri_permission_manager_ani_kit") {
|
||||
innerapi_tags = [ "platformsdk" ]
|
||||
subsystem_name = "ability"
|
||||
part_name = "ability_runtime"
|
||||
}
|
||||
|
||||
generate_static_abc("uri_permission_manager_abc") {
|
||||
base_url = "./ets"
|
||||
|
||||
files = [ "./ets/@ohos.application.uriPermissionManager.ets" ]
|
||||
|
||||
dst_file = "$target_out_dir/uri_permission_manager.abc"
|
||||
out_puts = [ "$target_out_dir/uri_permission_manager.abc" ]
|
||||
|
||||
is_boot_abc = "True"
|
||||
device_dst_file = "/system/framework/uri_permission_manager.abc"
|
||||
}
|
||||
|
||||
ohos_prebuilt_etc("uri_permission_manager_abc_etc") {
|
||||
source = "$target_out_dir/uri_permission_manager.abc"
|
||||
module_install_dir = "framework"
|
||||
subsystem_name = "ability"
|
||||
part_name = "ability_runtime"
|
||||
deps = [ ":uri_permission_manager_abc" ]
|
||||
}
|
||||
@@ -45,9 +45,9 @@ export default class UIExtensionContentSession {
|
||||
}
|
||||
|
||||
terminateSelf(): Promise<void> {
|
||||
let p = new Promise<void>((resolve: (data: undefined) => void, reject:(err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
let p = new Promise<void>((resolve: (data: undefined) => void, reject:(err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
@@ -68,9 +68,9 @@ export default class UIExtensionContentSession {
|
||||
}
|
||||
|
||||
terminateSelfWithResult(parameter: AbilityResult): Promise<void> {
|
||||
let p = new Promise<void>((resolve: (data: undefined) => void, reject:(err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
let p = new Promise<void>((resolve: (data: undefined) => void, reject:(err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
|
||||
+31
-34
@@ -15,18 +15,7 @@
|
||||
|
||||
import wantConstant from '@ohos.app.ability.wantConstant';
|
||||
import { BusinessError, AsyncCallback } from '@ohos.base';
|
||||
|
||||
export class AsyncCallbackWrapper<T> {
|
||||
myFun_:AsyncCallback<T, void> = (err: BusinessError<void>, data: T) => {}
|
||||
|
||||
constructor(myFun:AsyncCallback<T, void>){
|
||||
this.myFun_ = myFun;
|
||||
}
|
||||
|
||||
invoke(err: BusinessError<void>, data: T) : void {
|
||||
this.myFun_(err, data);
|
||||
}
|
||||
}
|
||||
import AsyncCallbackWrapper from './utils/AbilityUtils';
|
||||
|
||||
export default namespace uriPermissionManager {
|
||||
loadLibrary("uri_permission_manager_ani_kit.z");
|
||||
@@ -37,16 +26,20 @@ export default namespace uriPermissionManager {
|
||||
callback: AsyncCallbackWrapper<number>): void;
|
||||
|
||||
export function grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: string): Promise<number> {
|
||||
let p:Promise<number> = new Promise<number>((resolve: (data: number)=>void, reject:(err: BusinessError<void>)=>void):void => {
|
||||
let callbackWrapper = new AsyncCallbackWrapper<number>((err: BusinessError<void>, data: number)=>{
|
||||
if (err.code == 0) {
|
||||
resolve(data);
|
||||
let p:Promise<number> = new Promise<number>((resolve: (data: number)=>void, reject:(err: BusinessError)=>void):void => {
|
||||
let myCall = new AsyncCallbackWrapper<number>((err: BusinessError | null, data: number | undefined)=>{
|
||||
if (err === null || err.code === 0) {
|
||||
if (data === undefined) {
|
||||
resolve(-1);
|
||||
} else {
|
||||
resolve(data);
|
||||
}
|
||||
} else {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
taskpool.execute((): void => {
|
||||
uriPermissionManager.grantUriPermissionCallbackSync(uri, flag, targetBundleName, 0, callbackWrapper);
|
||||
uriPermissionManager.grantUriPermissionCallbackSync(uri, flag, targetBundleName, 0, myCall);
|
||||
});
|
||||
});
|
||||
return p;
|
||||
@@ -54,9 +47,9 @@ export default namespace uriPermissionManager {
|
||||
|
||||
export function grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: string,
|
||||
appCloneIndex: number): Promise<void> {
|
||||
let p:Promise<void> = new Promise<void>((resolve: (data:undefined)=>void, reject:(err: BusinessError<void>)=>void):void => {
|
||||
let callbackWrapper = new AsyncCallbackWrapper<number>((err: BusinessError<void>, data: number)=>{
|
||||
if (err.code == 0) {
|
||||
let p:Promise<void> = new Promise<void>((resolve: (data:undefined)=>void, reject:(err: BusinessError)=>void):void => {
|
||||
let myCall = new AsyncCallbackWrapper<number>((err: BusinessError | null, data: number | undefined)=>{
|
||||
if (err === null || err.code === 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
@@ -64,7 +57,7 @@ export default namespace uriPermissionManager {
|
||||
});
|
||||
taskpool.execute((): void => {
|
||||
uriPermissionManager.grantUriPermissionCallbackSync(uri,
|
||||
flag, targetBundleName, appCloneIndex, callbackWrapper);
|
||||
flag, targetBundleName, appCloneIndex, myCall);
|
||||
});
|
||||
});
|
||||
return p;
|
||||
@@ -72,48 +65,52 @@ export default namespace uriPermissionManager {
|
||||
|
||||
export function grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: string,
|
||||
callback: AsyncCallback<number, void>): void {
|
||||
let callbackWrapper = new AsyncCallbackWrapper<number>(callback);
|
||||
let myCall = new AsyncCallbackWrapper<number>(callback);
|
||||
taskpool.execute((): void => {
|
||||
uriPermissionManager.grantUriPermissionCallbackSync(uri, flag, targetBundleName, 0, callbackWrapper);
|
||||
uriPermissionManager.grantUriPermissionCallbackSync(uri, flag, targetBundleName, 0, myCall);
|
||||
})
|
||||
}
|
||||
|
||||
export function revokeUriPermission(uri: string, targetBundleName: string): Promise<number> {
|
||||
let p:Promise<number> = new Promise<number>((resolve: (data: number)=>void, reject:(err: BusinessError<void>)=>void):void => {
|
||||
let callbackWrapper = new AsyncCallbackWrapper<number>((err: BusinessError<void>, data: number)=>{
|
||||
if (err.code == 0) {
|
||||
resolve(data);
|
||||
let p:Promise<number> = new Promise<number>((resolve: (data: number)=>void, reject:(err: BusinessError)=>void):void => {
|
||||
let myCall = new AsyncCallbackWrapper<number>((err: BusinessError | null, data: number | undefined)=>{
|
||||
if (err === null || err.code === 0) {
|
||||
if (data === undefined) {
|
||||
resolve(-1);
|
||||
} else {
|
||||
resolve(data);
|
||||
}
|
||||
} else {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
taskpool.execute((): void => {
|
||||
uriPermissionManager.revokeUriPermissionCallbackSync(uri, targetBundleName, 0, callbackWrapper);
|
||||
uriPermissionManager.revokeUriPermissionCallbackSync(uri, targetBundleName, 0, myCall);
|
||||
});
|
||||
});
|
||||
return p;
|
||||
}
|
||||
|
||||
export function revokeUriPermission(uri: string, targetBundleName: string, appCloneIndex: number): Promise<void> {
|
||||
let p:Promise<void> = new Promise<void>((resolve: (data:undefined)=>void, reject:(err: BusinessError<void>)=>void):void => {
|
||||
let callbackWrapper = new AsyncCallbackWrapper<number>((err: BusinessError<void>, data: number)=>{
|
||||
if (err.code == 0) {
|
||||
let p:Promise<void> = new Promise<void>((resolve: (data:undefined)=>void, reject:(err: BusinessError)=>void):void => {
|
||||
let myCall = new AsyncCallbackWrapper<number>((err: BusinessError | null, data: number | undefined)=>{
|
||||
if (err === null || err.code === 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
taskpool.execute((): void => {
|
||||
uriPermissionManager.revokeUriPermissionCallbackSync(uri, targetBundleName, appCloneIndex, callbackWrapper);
|
||||
uriPermissionManager.revokeUriPermissionCallbackSync(uri, targetBundleName, appCloneIndex, myCall);
|
||||
});
|
||||
});
|
||||
return p;
|
||||
}
|
||||
|
||||
export function revokeUriPermission(uri: string, targetBundleName: string, callback: AsyncCallback<number, void>): void {
|
||||
let callbackWrapper = new AsyncCallbackWrapper<number>(callback);
|
||||
let myCall = new AsyncCallbackWrapper<number>(callback);
|
||||
taskpool.execute((): void => {
|
||||
uriPermissionManager.revokeUriPermissionCallbackSync(uri, targetBundleName, 0, callbackWrapper);
|
||||
uriPermissionManager.revokeUriPermissionCallbackSync(uri, targetBundleName, 0, myCall);
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -454,6 +454,26 @@ ohos_prebuilt_etc("ability_runtime_ability_stage_context_abc_etc") {
|
||||
deps = [ ":ability_runtime_ability_stage_context_abc" ]
|
||||
}
|
||||
|
||||
generate_static_abc("uri_permission_manager_abc") {
|
||||
base_url = "./"
|
||||
|
||||
files = [ "./@ohos.application.uriPermissionManager.ets" ]
|
||||
|
||||
dst_file = "$target_out_dir/uri_permission_manager.abc"
|
||||
out_puts = [ "$target_out_dir/uri_permission_manager.abc" ]
|
||||
|
||||
is_boot_abc = "True"
|
||||
device_dst_file = "/system/framework/uri_permission_manager.abc"
|
||||
}
|
||||
|
||||
ohos_prebuilt_etc("uri_permission_manager_abc_etc") {
|
||||
source = "$target_out_dir/uri_permission_manager.abc"
|
||||
module_install_dir = "framework"
|
||||
subsystem_name = "ability"
|
||||
part_name = "ability_runtime"
|
||||
deps = [ ":uri_permission_manager_abc" ]
|
||||
}
|
||||
|
||||
group("ets_packages") {
|
||||
deps = [
|
||||
":ability_delegator_abc_etc",
|
||||
@@ -481,6 +501,7 @@ group("ets_packages") {
|
||||
":ability_runtime_ui_ability_context_abc_etc",
|
||||
":service_extension_ability_abc_etc",
|
||||
":ui_extension_ability_ani_etc",
|
||||
":uri_permission_manager_abc_etc",
|
||||
":form_extension_ability_etc",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -67,9 +67,9 @@ class AbilityDelegatorInner implements AbilityDelegator {
|
||||
}
|
||||
finishTest(msg: string, code: number): Promise<void> {
|
||||
let p: Promise<void> =
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
@@ -97,14 +97,15 @@ class AbilityDelegatorInner implements AbilityDelegator {
|
||||
}
|
||||
executeShellCommand(cmd: string, timeoutSecs?: number): Promise<ShellCmdResult> {
|
||||
let p = new Promise<ShellCmdResult>((resolve: (data: ShellCmdResult) => void,
|
||||
reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<ShellCmdResult>((err: BusinessError<void>, data: ShellCmdResult) => {
|
||||
if (err.code == 0) {
|
||||
resolve(data);
|
||||
} else {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
reject: (err: BusinessError) => void): void => {
|
||||
let myCall =
|
||||
new AsyncCallbackWrapper<ShellCmdResult>((err: BusinessError | null, data: ShellCmdResult | undefined) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(data as ShellCmdResult);
|
||||
} else {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
taskpool.execute((): void => {
|
||||
if (timeoutSecs == null) {
|
||||
this.nativeExecuteShellCommand(cmd, 0, myCall);
|
||||
@@ -124,9 +125,9 @@ class AbilityDelegatorInner implements AbilityDelegator {
|
||||
}
|
||||
addAbilityMonitor(monitor: AbilityMonitor): Promise<void> {
|
||||
let p =
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
@@ -147,9 +148,9 @@ class AbilityDelegatorInner implements AbilityDelegator {
|
||||
}
|
||||
startAbility(want: Want): Promise<void> {
|
||||
let p: Promise<void> =
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
|
||||
@@ -21,20 +21,7 @@ import { AbilityResult } from 'ability.abilityResult';
|
||||
import { Configuration } from '@ohos.app.ability.Configuration';
|
||||
import Context from 'application.Context';
|
||||
import window from '@ohos.window';
|
||||
|
||||
export class AsyncCallbackWrapper<T> {
|
||||
myFun_: AsyncCallback<T, void> = (err: BusinessError<void>, data: T) => {
|
||||
}
|
||||
|
||||
constructor(myFun: AsyncCallback<T, void>) {
|
||||
console.log("AsyncCallbackWrapper");
|
||||
this.myFun_ = myFun;
|
||||
}
|
||||
|
||||
invoke(err: BusinessError<void>, data: T): void {
|
||||
this.myFun_(err, data);
|
||||
}
|
||||
}
|
||||
import AsyncCallbackWrapper from '../utils/AbilityUtils';
|
||||
|
||||
export default class UIAbilityContext extends Context {
|
||||
static {
|
||||
@@ -85,9 +72,9 @@ export default class UIAbilityContext extends Context {
|
||||
|
||||
startAbility(want: Want): Promise<void> {
|
||||
let p: Promise<void> =
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
@@ -102,9 +89,9 @@ export default class UIAbilityContext extends Context {
|
||||
|
||||
startAbility(want: Want, options: StartOptions): Promise<void> {
|
||||
let p =
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
@@ -133,10 +120,10 @@ export default class UIAbilityContext extends Context {
|
||||
|
||||
startAbilityForResult(want: Want): Promise<AbilityResult> {
|
||||
let p = new Promise<AbilityResult>((resolve: (data: AbilityResult) => void,
|
||||
reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<AbilityResult>((err: BusinessError<void>, data: AbilityResult) => {
|
||||
if (err.code == 0) {
|
||||
resolve(data);
|
||||
reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<AbilityResult>((err: BusinessError | null, data: AbilityResult | undefined) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(data as AbilityResult);
|
||||
} else {
|
||||
reject(err);
|
||||
}
|
||||
@@ -150,10 +137,10 @@ export default class UIAbilityContext extends Context {
|
||||
|
||||
startAbilityForResult(want: Want, startOptions: StartOptions): Promise<AbilityResult> {
|
||||
let p = new Promise<AbilityResult>((resolve: (data: AbilityResult) => void,
|
||||
reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<AbilityResult>((err: BusinessError<void>, data: AbilityResult) => {
|
||||
if (err.code == 0) {
|
||||
resolve(data);
|
||||
reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<AbilityResult>((err: BusinessError | null, data: AbilityResult | undefined) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(data as AbilityResult);
|
||||
} else {
|
||||
reject(err);
|
||||
}
|
||||
@@ -174,9 +161,9 @@ export default class UIAbilityContext extends Context {
|
||||
|
||||
terminateSelf(): Promise<void> {
|
||||
let p =
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
@@ -198,9 +185,9 @@ export default class UIAbilityContext extends Context {
|
||||
|
||||
terminateSelfWithResult(parameter: AbilityResult): Promise<void> {
|
||||
let p =
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
new Promise<void>((resolve: (data: undefined) => void, reject: (err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
|
||||
@@ -31,9 +31,9 @@ export default class UIExtensionContext extends ExtensionContext {
|
||||
}
|
||||
|
||||
terminateSelf(): Promise<void> {
|
||||
let p = new Promise<void>((resolve: (data: undefined) => void, reject:(err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
let p = new Promise<void>((resolve: (data: undefined) => void, reject:(err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
@@ -54,9 +54,9 @@ export default class UIExtensionContext extends ExtensionContext {
|
||||
}
|
||||
|
||||
terminateSelfWithResult(parameter: AbilityResult): Promise<void> {
|
||||
let p = new Promise<void>((resolve: (data: undefined)=>void, reject:(err: BusinessError<void>) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError<void>) => {
|
||||
if (err.code == 0) {
|
||||
let p = new Promise<void>((resolve: (data: undefined)=>void, reject:(err: BusinessError) => void): void => {
|
||||
let myCall = new AsyncCallbackWrapper<void>((err: BusinessError | null) => {
|
||||
if (err == null || err.code == 0) {
|
||||
resolve(undefined);
|
||||
} else {
|
||||
reject(err);
|
||||
|
||||
@@ -19,14 +19,14 @@ const DOMAIN_ID = 0xD001300;
|
||||
const TAG = 'AbilityUtils';
|
||||
const LEVEL = 100;
|
||||
|
||||
export default class AsyncCallbackWrapper<T> {
|
||||
private myFun_:AsyncCallback<T, void> = (err: BusinessError<void>, data: T) => {}
|
||||
export default class AsyncCallbackWrapper<T, E = void> {
|
||||
private myFun_: AsyncCallback<T, E> = (err: BusinessError<E> | null, data: T | undefined) => {}
|
||||
|
||||
constructor(myFun:AsyncCallback<T, void>){
|
||||
constructor(myFun: AsyncCallback<T, E>) {
|
||||
this.myFun_ = myFun;
|
||||
}
|
||||
|
||||
invoke(err: BusinessError<void>, data: T) : void {
|
||||
invoke(err: BusinessError<E> | null, data: T | undefined): void {
|
||||
this.myFun_(err, data);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user