diff --git a/interfaces/kits/jskits/src/native_parameters_js.cpp b/interfaces/kits/jskits/src/native_parameters_js.cpp index 712084dcbc31e2581531f308dd0ddf634d99c3c0..461603d5a3c3d91725b91d0701e3d0097bb1ba90 100644 --- a/interfaces/kits/jskits/src/native_parameters_js.cpp +++ b/interfaces/kits/jskits/src/native_parameters_js.cpp @@ -173,6 +173,7 @@ static napi_value GetSync(napi_env env, napi_callback_info info) napi_valuetype valuetype0 = napi_null; NAPI_CALL(env, napi_typeof(env, args[0], &valuetype0)); NAPI_ASSERT(env, valuetype0 == napi_string, "Wrong argument type. Numbers expected."); + napi_valuetype valuetype1 = napi_null; if (argc == ARGC_NUMBER) { NAPI_CALL(env, napi_typeof(env, args[1], &valuetype1)); diff --git a/interfaces/kits/jskits/src_enhance/native_parameters_js.cpp b/interfaces/kits/jskits/src_enhance/native_parameters_js.cpp index 0be3b37fc3d33fc9d9c601f61e553a46c968a141..72ce49e7699af18ed88fdf9cabdc484fb161ade6 100644 --- a/interfaces/kits/jskits/src_enhance/native_parameters_js.cpp +++ b/interfaces/kits/jskits/src_enhance/native_parameters_js.cpp @@ -270,16 +270,13 @@ static napi_value GetSync(napi_env env, napi_callback_info info) PARAM_JS_LOGV("JSApp get status: %d, key: '%s', value: '%s', defValue: '%s'.", ret, keyBuf.data(), value.data(), defValue.data()); - napi_value napiValue = nullptr; - NAPI_CALL(env, napi_create_string_utf8(env, value.data(), strlen(value.data()), &napiValue)); if (ret < 0) { - if (ret == SYSPARAM_NOT_FOUND) { - return napiValue; - } napi_throw(env, BusinessErrorCreate(env, ret)); return nullptr; } + napi_value napiValue = nullptr; + NAPI_CALL(env, napi_create_string_utf8(env, value.data(), strlen(value.data()), &napiValue)); return napiValue; } @@ -294,35 +291,29 @@ static void GetCallbackWork(napi_env env, StorageAsyncContextPtr asyncContext) std::vector value(MAX_VALUE_LENGTH, 0); asyncContext->status = GetParameter(asyncContext->key, (asyncContext->valueLen == 0) ? nullptr : asyncContext->value, value.data(), MAX_VALUE_LENGTH); - asyncContext->getValue = std::string(value.begin(), value.end()); + if (asyncContext->status == 0) { + asyncContext->getValue = ""; + } else if (asyncContext->status > 0) { + asyncContext->getValue = std::string(value.begin(), value.end()); + } }, [](napi_env env, napi_status status, void *data) { StorageAsyncContext *asyncContext = reinterpret_cast(data); napi_value result[ARGC_NUMBER] = { 0 }; - if (asyncContext->status > 0) { + if (asyncContext->status >= 0) { napi_get_undefined(env, &result[0]); napi_create_string_utf8(env, asyncContext->getValue.c_str(), strlen(asyncContext->getValue.c_str()), &result[1]); } else { - if (asyncContext->status == SYSPARAM_NOT_FOUND) { - napi_get_undefined(env, &result[0]); - napi_create_string_utf8(env, - asyncContext->getValue.c_str(), strlen(asyncContext->getValue.c_str()), &result[1]); - } else { - result[0] = BusinessErrorCreate(env, asyncContext->status); - napi_get_undefined(env, &result[1]); - } + result[0] = BusinessErrorCreate(env, asyncContext->status); + napi_get_undefined(env, &result[1]); } if (asyncContext->deferred) { if (asyncContext->status > 0) { napi_resolve_deferred(env, asyncContext->deferred, result[1]); } else { - if (asyncContext->status == SYSPARAM_NOT_FOUND) { - napi_resolve_deferred(env, asyncContext->deferred, result[1]); - } else { - napi_reject_deferred(env, asyncContext->deferred, result[0]); - } + napi_reject_deferred(env, asyncContext->deferred, result[0]); } } else { napi_value callback = nullptr;