From 04b3b74fa7f3fc805fe16cd53238fda548155682 Mon Sep 17 00:00:00 2001 From: nieben Date: Wed, 22 Nov 2023 09:40:43 +0800 Subject: [PATCH] fix-napi-return-error Signed-off-by: nieben --- .../filemgmt_libn/include/n_async/n_async_work_callback.h | 3 +++ utils/filemgmt_libn/src/n_async/n_async_work_callback.cpp | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/utils/filemgmt_libn/include/n_async/n_async_work_callback.h b/utils/filemgmt_libn/include/n_async/n_async_work_callback.h index 6fb514668..cb175e48c 100644 --- a/utils/filemgmt_libn/include/n_async/n_async_work_callback.h +++ b/utils/filemgmt_libn/include/n_async/n_async_work_callback.h @@ -21,6 +21,9 @@ namespace OHOS { namespace FileManagement { namespace LibN { + +const std::string CB_SECOND_ARG = "cb_second_arg"; + class NAsyncWorkCallback : public NAsyncWork { public: NAsyncWorkCallback(napi_env env, NVal thisPtr, NVal cb); diff --git a/utils/filemgmt_libn/src/n_async/n_async_work_callback.cpp b/utils/filemgmt_libn/src/n_async/n_async_work_callback.cpp index 3df058b85..2153107aa 100644 --- a/utils/filemgmt_libn/src/n_async/n_async_work_callback.cpp +++ b/utils/filemgmt_libn/src/n_async/n_async_work_callback.cpp @@ -168,6 +168,13 @@ static void AfterWorkCallback(napi_env env, napi_status status, void *data, NCon argv = {NError(ERRNO_NOERR).GetNapiErr(env), ctx->res_.val_}; } else { argv = {ctx->res_.val_}; + if (ctx->res_.HasProp(CB_SECOND_ARG)) { +#ifdef WIN_PLATFORM + argv.push_back(ctx->res_.GetPropValue(CB_SECOND_ARG).val_); +#else + argv.push_back(ctx->res_.GetProp(CB_SECOND_ARG).val_); +#endif + } } napi_value global = nullptr; -- Gitee