diff --git a/frameworks/js/napi/include/common.h b/frameworks/js/napi/include/common.h index 98e286557042e3cdf585069b3d579207979ff12a..2a283590880e023bd2621c87396a9dfe34c2c54d 100644 --- a/frameworks/js/napi/include/common.h +++ b/frameworks/js/napi/include/common.h @@ -1820,7 +1820,7 @@ public: static bool IsValidRemoveReason(int32_t reasonType); static void NapiThrow(napi_env env, int32_t errCode); static void NapiThrow(napi_env env, int32_t errCode, std::string &msg); - static napi_value NapiThrowCapErr(napi_env env, napi_callback_info info); + static napi_value NapiReturnCapErr(napi_env env, napi_callback_info info); static int32_t ErrorToExternal(uint32_t errCode); static void CreateReturnValue(const napi_env &env, const CallbackPromiseInfo &info, const napi_value &result); static napi_value GetLockScreenPicture( diff --git a/frameworks/js/napi/src/common_utils.cpp b/frameworks/js/napi/src/common_utils.cpp index 1725f78201ca097b79d9715ee1f0a38e3359c9fb..73a4f3694d38196edf22c9c8c59bd402667c1c81 100644 --- a/frameworks/js/napi/src/common_utils.cpp +++ b/frameworks/js/napi/src/common_utils.cpp @@ -352,10 +352,13 @@ int32_t Common::ErrorToExternal(uint32_t errCode) return ExternalCode; } -napi_value Common::NapiThrowCapErr(napi_env env, napi_callback_info info) +napi_value Common::NapiReturnCapErr(napi_env env, napi_callback_info info) { - Common::NapiThrow(env, ERROR_SYSTEM_CAP_ERROR); - return nullptr; + napi_value promise = nullptr; + napi_deferred deferred = nullptr; + napi_create_promise(env, &deferred, &promise); + SetPromise(env, deferred, ERROR_SYSTEM_CAP_ERROR, Common::NapiGetNull(env), false); + return promise; } } // namespace NotificationNapi } // namespace OHOS diff --git a/frameworks/js/napi/src/init.cpp b/frameworks/js/napi/src/init.cpp index 4333456edc28b578c408dceab54d18931b268dce..c1303d5209f08e7a9d8a0344cfd692db778a7e50 100644 --- a/frameworks/js/napi/src/init.cpp +++ b/frameworks/js/napi/src/init.cpp @@ -68,14 +68,14 @@ napi_value NotificationInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("displayBadge", DisplayBadge), DECLARE_NAPI_FUNCTION("isBadgeDisplayed", IsBadgeDisplayed), #else - DECLARE_NAPI_FUNCTION("displayBadge", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("isBadgeDisplayed", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("displayBadge", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("isBadgeDisplayed", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_LIVEVIEW_LOCAL_LIVEVIEW DECLARE_NAPI_FUNCTION("show", ShowNotification), #else - DECLARE_NAPI_FUNCTION("show", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("show", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_DISTRIBUTED_DB @@ -88,14 +88,14 @@ napi_value NotificationInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("setSyncNotificationEnabledWithoutApp", SetSyncNotificationEnabledWithoutApp), DECLARE_NAPI_FUNCTION("getSyncNotificationEnabledWithoutApp", GetSyncNotificationEnabledWithoutApp), #else - DECLARE_NAPI_FUNCTION("isDistributedEnabled", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("enableDistributed", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("enableDistributedByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("enableDistributedSelf", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("isDistributedEnabledByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getDeviceRemindType", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setSyncNotificationEnabledWithoutApp", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getSyncNotificationEnabledWithoutApp", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("isDistributedEnabled", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("enableDistributed", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("enableDistributedByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("enableDistributedSelf", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("isDistributedEnabledByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getDeviceRemindType", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setSyncNotificationEnabledWithoutApp", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getSyncNotificationEnabledWithoutApp", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_DISTURB_MANAGER @@ -103,9 +103,9 @@ napi_value NotificationInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("getDoNotDisturbDate", GetDoNotDisturbDate), DECLARE_NAPI_FUNCTION("supportDoNotDisturbMode", SupportDoNotDisturbMode), #else - DECLARE_NAPI_FUNCTION("setDoNotDisturbDate", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getDoNotDisturbDate", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("supportDoNotDisturbMode", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("setDoNotDisturbDate", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getDoNotDisturbDate", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("supportDoNotDisturbMode", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_SLOT_MANAGER @@ -114,10 +114,10 @@ napi_value NotificationInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("getSlotNumByBundle", GetSlotNumByBundle), DECLARE_NAPI_FUNCTION("setSlotByBundle", SetSlotByBundle), #else - DECLARE_NAPI_FUNCTION("isNotificationSlotEnabled", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getSlotsByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getSlotNumByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setSlotByBundle", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("isNotificationSlotEnabled", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getSlotsByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getSlotNumByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setSlotByBundle", Common::NapiReturnCapErr), #endif }; diff --git a/frameworks/js/napi/src/manager/init_module.cpp b/frameworks/js/napi/src/manager/init_module.cpp index f480c570daa00b639e1cd8ab5a858fc752878277..fa6b05fb91e864ae38b642eaace72fd23a2a184c 100644 --- a/frameworks/js/napi/src/manager/init_module.cpp +++ b/frameworks/js/napi/src/manager/init_module.cpp @@ -59,8 +59,8 @@ static napi_value NapiPushInit(napi_env env, napi_value exports) OHOS::AbilityRuntime::BindNativeFunction(env, exports, "on", moduleName, NapiPush::RegisterPushCallback); OHOS::AbilityRuntime::BindNativeFunction(env, exports, "off", moduleName, NapiPush::UnregisterPushCallback); #else - OHOS::AbilityRuntime::BindNativeFunction(env, exports, "on", moduleName, Common::NapiThrowCapErr); - OHOS::AbilityRuntime::BindNativeFunction(env, exports, "off", moduleName, Common::NapiThrowCapErr); + OHOS::AbilityRuntime::BindNativeFunction(env, exports, "on", moduleName, Common::NapiReturnCapErr); + OHOS::AbilityRuntime::BindNativeFunction(env, exports, "off", moduleName, Common::NapiReturnCapErr); #endif return exports; } @@ -108,10 +108,10 @@ napi_value NotificationManagerInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("setBadgeNumber", NapiSetBadgeNumber), DECLARE_NAPI_FUNCTION("setBadgeNumberByBundle", NapiSetBadgeNumberByBundle), #else - DECLARE_NAPI_FUNCTION("displayBadge", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("isBadgeDisplayed", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setBadgeNumber", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setBadgeNumberByBundle", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("displayBadge", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("isBadgeDisplayed", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setBadgeNumber", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setBadgeNumberByBundle", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_DISTRIBUTED_DB @@ -126,16 +126,16 @@ napi_value NotificationManagerInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("setSyncNotificationEnabledWithoutApp", NapiSetSyncNotificationEnabledWithoutApp), DECLARE_NAPI_FUNCTION("isSmartReminderEnabled", NapiIsSmartReminderEnabled), #else - DECLARE_NAPI_FUNCTION("isDistributedEnabled", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setDistributedEnable", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setDistributedEnableByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("enableDistributedSelf", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("isDistributedEnabledByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setDistributedEnabledByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setSmartReminderEnabled", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getDeviceRemindType", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setSyncNotificationEnabledWithoutApp", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("isSmartReminderEnabled", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("isDistributedEnabled", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setDistributedEnable", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setDistributedEnableByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("enableDistributedSelf", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("isDistributedEnabledByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setDistributedEnabledByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setSmartReminderEnabled", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getDeviceRemindType", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setSyncNotificationEnabledWithoutApp", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("isSmartReminderEnabled", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_DISTURB_MANAGER @@ -147,13 +147,13 @@ napi_value NotificationManagerInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("isSupportDoNotDisturbMode", NapiSupportDoNotDisturbMode), DECLARE_NAPI_FUNCTION("getDoNotDisturbProfile", NapiGetDoNotDisturbProfile), #else - DECLARE_NAPI_FUNCTION("setDoNotDisturbDate", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getDoNotDisturbDate", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("addDoNotDisturbProfile", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("removeDoNotDisturbProfile", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("supportDoNotDisturbMode", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("isSupportDoNotDisturbMode", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getDoNotDisturbProfile", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("setDoNotDisturbDate", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getDoNotDisturbDate", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("addDoNotDisturbProfile", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("removeDoNotDisturbProfile", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("supportDoNotDisturbMode", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("isSupportDoNotDisturbMode", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getDoNotDisturbProfile", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_SLOT_MANAGER @@ -165,27 +165,27 @@ napi_value NotificationManagerInit(napi_env env, napi_value exports) DECLARE_NAPI_FUNCTION("getSlotFlagsByBundle", NapiGetSlotFlagsByBundle), DECLARE_NAPI_FUNCTION("getSlotByBundle", NapiGetSlotByBundle), #else - DECLARE_NAPI_FUNCTION("setSlotByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getSlotsByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setNotificationEnableSlot", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("isNotificationSlotEnabled", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("setSlotFlagsByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getSlotFlagsByBundle", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("getSlotByBundle", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("setSlotByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getSlotsByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setNotificationEnableSlot", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("isNotificationSlotEnabled", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("setSlotFlagsByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getSlotFlagsByBundle", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("getSlotByBundle", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_LIVEVIEW_LOCAL_LIVEVIEW DECLARE_NAPI_FUNCTION("subscribeSystemLiveView", NapiSubscriteLocalAcitvity), DECLARE_NAPI_FUNCTION("triggerSystemLiveView", NapiTriggerLocalLiveView), #else - DECLARE_NAPI_FUNCTION("subscribeSystemLiveView", Common::NapiThrowCapErr), - DECLARE_NAPI_FUNCTION("triggerSystemLiveView", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("subscribeSystemLiveView", Common::NapiReturnCapErr), + DECLARE_NAPI_FUNCTION("triggerSystemLiveView", Common::NapiReturnCapErr), #endif #ifdef ANS_FEATURE_ADDITIONAL_CONFIG DECLARE_NAPI_FUNCTION("setAdditionalConfig", NapiSetAdditionConfig), #else - DECLARE_NAPI_FUNCTION("setAdditionalConfig", Common::NapiThrowCapErr), + DECLARE_NAPI_FUNCTION("setAdditionalConfig", Common::NapiReturnCapErr), #endif };