From 88e7270636a818f25be83cb4de5151221b7a1304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E9=91=AB?= Date: Fri, 14 Mar 2025 21:21:12 +0800 Subject: [PATCH 1/3] close MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 周鑫 --- .../js/src/mod_fs/ani/ets/@ohos.file.fs.ets | 43 +++++++++---------- .../src/mod_fs/properties/ani/close_ani.cpp | 8 ++-- .../js/src/mod_fs/properties/ani/close_ani.h | 2 +- 3 files changed, 26 insertions(+), 27 deletions(-) diff --git a/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets b/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets index 543c62ba..e6ab4bb4 100644 --- a/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets +++ b/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets @@ -259,35 +259,34 @@ class fileIo { static native closeSync(file: FdOrFile): int; - static close(file: FdOrFile): Promise { - return new Promise((resolve: (result: int) => void, reject: (e: BusinessError) => void) => { - let promise = taskpool.execute(fileIo.closeSync, file); - promise.then((ret: NullishType) => { + static close(file: FdOrFile): Promise { + let pvoid: Promise = new Promise((resolve:(result:undefined)=>void, + reject:(e:BusinessError) => void): void => { + let promise = taskpool.execute((file: FdOrFile): void => closeSync(file), file); + promise.then((ret:NullishType) => { if (ret === null || ret === undefined) { - let err = new BusinessError(-1, ""); - + let err = new BusinessError(); + err.code = -1; reject(err); } else { - let r = ret as int; - resolve(r); + resolve(undefined); } }); }); + return pvoid; } - - static close(file: FdOrFile, callback: AsyncCallback): void { - let promise = taskpool.execute(fileIo.closeSync, file); - promise.then((ret: NullishType) => { - let err = new BusinessError(-1, ""); - - if (ret === null || ret === undefined) { - err.code = -1 - callback(err, undefined) - } else { - err.code = 0 - let r = ret as int; - callback(err, r); - } + + static close(file: FdOrFile, callback: AsyncCallback): void { + let p1 = taskpool.execute((file: FdOrFile): void => closeSync(file), file); + p1.then((ret: NullishType) => { + let err = new BusinessError(); + if (ret === null || ret === undefined) { + err.code = -1 + callback(err, undefined) + }else { + err.code = 0 + callback(err, undefined); + } }); } diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp index 313a5c14..8049dd04 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp @@ -63,20 +63,20 @@ tuple ParseFd(ani_env *env, ani_object obj) return { false, result }; } -ani_int CloseAni::CloseSync(ani_env *env, [[maybe_unused]] ani_class clazz, ani_object obj) +void CloseAni::CloseSync(ani_env *env, [[maybe_unused]] ani_class clazz, ani_object obj) { auto [succ, fd] = ParseFd(env, obj); if (!succ) { HILOGE("Parse fd argument failed"); - return -1; + return; } auto ret = CloseCore::DoClose(fd); if (!ret.IsSuccess()) { HILOGE("Close %d failed", fd); - return -1; + return; } - return 0; + return; } } // namespace ANI diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.h b/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.h index 7c6202f6..cd2715eb 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.h +++ b/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.h @@ -25,7 +25,7 @@ namespace ANI { class CloseAni final { public: - static ani_int CloseSync(ani_env *env, [[maybe_unused]] ani_class clazz, ani_object obj); + static void CloseSync(ani_env *env, [[maybe_unused]] ani_class clazz, ani_object obj); }; } // namespace ANI -- Gitee From 2d42486832f47c8db19c701ee74871d5d5d13103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E9=91=AB?= Date: Fri, 14 Mar 2025 21:23:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 周鑫 --- interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets | 2 +- interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets b/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets index e6ab4bb4..f57be83f 100644 --- a/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets +++ b/interfaces/kits/js/src/mod_fs/ani/ets/@ohos.file.fs.ets @@ -163,7 +163,7 @@ class StatInner implements Stat { native isSymbolicLink(): boolean; } -type FdOrFile = int | File; +type FdOrFile = number | File; type PathOrFd = string | int; type BufferType = string | ArrayBuffer; diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp index 8049dd04..d1f1627f 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/ani/close_ani.cpp @@ -33,7 +33,7 @@ tuple ParseFd(ani_env *env, ani_object obj) { int32_t result = -1; ani_class IntClass; - env->FindClass("Lstd/core/Int;", &IntClass); + env->FindClass("Lstd/core/Double;", &IntClass); ani_boolean isInt; env->Object_InstanceOf(obj, IntClass, &isInt); if (isInt) { -- Gitee From 309bae5e71b2059b2bce24323b244caf28c0c923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E9=91=AB?= Date: Fri, 14 Mar 2025 21:44:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?load=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 周鑫 --- interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets b/interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets index 543c62ba..ea1a7b1c 100644 --- a/interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets +++ b/interfaces/kits/js/src/mod_fs/ani/file_fs_class.ets @@ -170,7 +170,7 @@ type BufferType = string | ArrayBuffer; class fileIo { static { - loadLibrary("ani_fs_class.z"); + loadLibrary("ani_fs_class"); } static native doAccessSync(path: string, mode?: AccessModeType, flag?: AccessFlagType): boolean; -- Gitee