未验证 提交 a941715c 编写于 作者: O openharmony_ci 提交者: Gitee

!1983 FIX:修改napi

Merge pull request !1983 from cheng_jinsong/napi_0525
...@@ -173,6 +173,7 @@ static napi_value GetSync(napi_env env, napi_callback_info info) ...@@ -173,6 +173,7 @@ static napi_value GetSync(napi_env env, napi_callback_info info)
napi_valuetype valuetype0 = napi_null; napi_valuetype valuetype0 = napi_null;
NAPI_CALL(env, napi_typeof(env, args[0], &valuetype0)); NAPI_CALL(env, napi_typeof(env, args[0], &valuetype0));
NAPI_ASSERT(env, valuetype0 == napi_string, "Wrong argument type. Numbers expected."); NAPI_ASSERT(env, valuetype0 == napi_string, "Wrong argument type. Numbers expected.");
napi_valuetype valuetype1 = napi_null; napi_valuetype valuetype1 = napi_null;
if (argc == ARGC_NUMBER) { if (argc == ARGC_NUMBER) {
NAPI_CALL(env, napi_typeof(env, args[1], &valuetype1)); NAPI_CALL(env, napi_typeof(env, args[1], &valuetype1));
......
...@@ -270,16 +270,13 @@ static napi_value GetSync(napi_env env, napi_callback_info info) ...@@ -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'.", PARAM_JS_LOGV("JSApp get status: %d, key: '%s', value: '%s', defValue: '%s'.",
ret, keyBuf.data(), value.data(), defValue.data()); 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 < 0) {
if (ret == SYSPARAM_NOT_FOUND) {
return napiValue;
}
napi_throw(env, BusinessErrorCreate(env, ret)); napi_throw(env, BusinessErrorCreate(env, ret));
return nullptr; return nullptr;
} }
napi_value napiValue = nullptr;
NAPI_CALL(env, napi_create_string_utf8(env, value.data(), strlen(value.data()), &napiValue));
return napiValue; return napiValue;
} }
...@@ -294,17 +291,16 @@ static void GetCallbackWork(napi_env env, StorageAsyncContextPtr asyncContext) ...@@ -294,17 +291,16 @@ static void GetCallbackWork(napi_env env, StorageAsyncContextPtr asyncContext)
std::vector<char> value(MAX_VALUE_LENGTH, 0); std::vector<char> value(MAX_VALUE_LENGTH, 0);
asyncContext->status = GetParameter(asyncContext->key, asyncContext->status = GetParameter(asyncContext->key,
(asyncContext->valueLen == 0) ? nullptr : asyncContext->value, value.data(), MAX_VALUE_LENGTH); (asyncContext->valueLen == 0) ? nullptr : asyncContext->value, value.data(), MAX_VALUE_LENGTH);
if (asyncContext->status == 0) {
asyncContext->getValue = "";
} else if (asyncContext->status > 0) {
asyncContext->getValue = std::string(value.begin(), value.end()); asyncContext->getValue = std::string(value.begin(), value.end());
}
}, },
[](napi_env env, napi_status status, void *data) { [](napi_env env, napi_status status, void *data) {
StorageAsyncContext *asyncContext = reinterpret_cast<StorageAsyncContext *>(data); StorageAsyncContext *asyncContext = reinterpret_cast<StorageAsyncContext *>(data);
napi_value result[ARGC_NUMBER] = { 0 }; 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_get_undefined(env, &result[0]);
napi_create_string_utf8(env, napi_create_string_utf8(env,
asyncContext->getValue.c_str(), strlen(asyncContext->getValue.c_str()), &result[1]); asyncContext->getValue.c_str(), strlen(asyncContext->getValue.c_str()), &result[1]);
...@@ -312,18 +308,13 @@ static void GetCallbackWork(napi_env env, StorageAsyncContextPtr asyncContext) ...@@ -312,18 +308,13 @@ static void GetCallbackWork(napi_env env, StorageAsyncContextPtr asyncContext)
result[0] = BusinessErrorCreate(env, asyncContext->status); result[0] = BusinessErrorCreate(env, asyncContext->status);
napi_get_undefined(env, &result[1]); napi_get_undefined(env, &result[1]);
} }
}
if (asyncContext->deferred) { if (asyncContext->deferred) {
if (asyncContext->status > 0) { if (asyncContext->status > 0) {
napi_resolve_deferred(env, asyncContext->deferred, result[1]); napi_resolve_deferred(env, asyncContext->deferred, result[1]);
} else {
if (asyncContext->status == SYSPARAM_NOT_FOUND) {
napi_resolve_deferred(env, asyncContext->deferred, result[1]);
} else { } else {
napi_reject_deferred(env, asyncContext->deferred, result[0]); napi_reject_deferred(env, asyncContext->deferred, result[0]);
} }
}
} else { } else {
napi_value callback = nullptr; napi_value callback = nullptr;
napi_value callResult = nullptr; napi_value callResult = nullptr;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册