From 3e7e203736cacebc501ed0720775f51f008073bd Mon Sep 17 00:00:00 2001 From: liyuke Date: Sat, 15 Mar 2025 18:58:01 +0800 Subject: [PATCH] =?UTF-8?q?mkdir=E8=BF=94=E5=9B=9E=E5=80=BC=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=BAvoid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liyuke --- .../js/src/mod_fs/ani/ets/@ohos.file.fs.ets | 80 +++++++------------ .../src/mod_fs/properties/ani/mkdir_ani.cpp | 14 ++-- .../js/src/mod_fs/properties/ani/mkdir_ani.h | 4 +- 3 files changed, 38 insertions(+), 60 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 d8292890..d4c0577b 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 @@ -408,73 +408,53 @@ class fileIo { }); } - static native mkdirSync(path: string): int; + static native mkdirSync(path: string): void; - static native mkdirSync(path: string, recursion: boolean): int; + static native mkdirSync(path: string, recursion: boolean): void; - static mkdir(path: string): Promise { - return new Promise((resolve: (result: int) => void, reject: (e: BusinessError) => void) => { - const mkdirSyncWrapper = (path: string) => fileIo.mkdirSync(path); - let promise = taskpool.execute(mkdirSyncWrapper, path); + static mkdir(path: string): Promise { + return new Promise((resolve: (result: undefined) => void, + reject: (e: BusinessError) => void): void => { + let promise = taskpool.execute((path: string): void => fileIo.mkdirSync(path), path); promise.then((ret: NullishType) => { - let result = ret as int - if (ret === null || ret === undefined) { - let err = new BusinessError(-1, ""); - - reject(err); - } else { - resolve(result); - } + resolve(undefined); + }).catch((e: BusinessError): void => { + reject(e); }); }); } - static mkdir(path: string, callback: AsyncCallback): void { - const mkdirSyncWrapper = (path: string) => fileIo.mkdirSync(path); - let promise = taskpool.execute(mkdirSyncWrapper, path); + static mkdir(path: string, callback: AsyncCallback): void { + let promise = taskpool.execute((path: string): void => fileIo.mkdirSync(path), path); 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); - } + let e = new BusinessError(0, ""); + callback(e, undefined); + }).catch((e: BusinessError): void => { + callback(e, undefined); }); } - static mkdir(path: string, recursion: boolean): Promise { - return new Promise((resolve: (result: int) => void, reject: (e: BusinessError) => void) => { - const mkdirSyncWrapper = (path: string, recursion: boolean) => fileIo.mkdirSync(path, recursion); - let promise = taskpool.execute(mkdirSyncWrapper, path, recursion); + static mkdir(path: string, recursion: boolean): Promise { + return new Promise((resolve: (result: undefined) => void, + reject: (e: BusinessError) => void): void => { + let promise = taskpool.execute((path: string, recursion: boolean): void => + fileIo.mkdirSync(path, recursion), path, recursion); promise.then((ret: NullishType) => { - let result = ret as int - if (ret === null || ret === undefined) { - let err = new BusinessError(-1, ""); - - reject(err); - } else { - resolve(result); - } + resolve(undefined); + }).catch((e: BusinessError): void => { + reject(e); }); }); } - static mkdir(path: string, recursion: boolean, callback: AsyncCallback): void { - const mkdirSyncWrapper = (path: string, recursion: boolean,) => fileIo.mkdirSync(path, recursion); - let promise = taskpool.execute(mkdirSyncWrapper, path, recursion); + static mkdir(path: string, recursion: boolean, callback: AsyncCallback): void { + let promise = taskpool.execute((path: string, recursion: boolean): void => + fileIo.mkdirSync(path, recursion), path, recursion); 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); - } + let e = new BusinessError(0, ""); + callback(e, undefined); + }).catch((e: BusinessError): void => { + callback(e, undefined); }); } diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/mkdir_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/ani/mkdir_ani.cpp index 12251930..1cade280 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/mkdir_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/ani/mkdir_ani.cpp @@ -24,34 +24,32 @@ namespace FileManagement { namespace ModuleFileIO { namespace ANI { -ani_int MkdirkAni::MkdirSync0(ani_env *env, [[maybe_unused]] ani_class clazz, ani_string path) +void MkdirkAni::MkdirSync0(ani_env *env, [[maybe_unused]] ani_class clazz, ani_string path) { auto [succ, pathStr] = TypeConverter::ToUTF8String(env, path); if (!succ) { HILOGE("Invalid path"); - return -1; + return; } auto ret = MkdirCore::DoMkdir(pathStr); if (!ret.IsSuccess()) { HILOGE("Mkdir failed"); - return -1; + return; } - return 0; } -ani_int MkdirkAni::MkdirSync1(ani_env *env, [[maybe_unused]] ani_class clazz, ani_string path, ani_boolean recursion) +void MkdirkAni::MkdirSync1(ani_env *env, [[maybe_unused]] ani_class clazz, ani_string path, ani_boolean recursion) { auto [succ, pathStr] = ANI::TypeConverter::ToUTF8String(env, path); if (!succ) { HILOGE("Invalid path"); - return -1; + return; } auto ret = MkdirCore::DoMkdir(pathStr, recursion); if (!ret.IsSuccess()) { HILOGE("DoMkdir failed"); - return -1; + return; } - return 0; } } // namespace ANI diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/mkdir_ani.h b/interfaces/kits/js/src/mod_fs/properties/ani/mkdir_ani.h index fa342d95..8ed780e9 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/mkdir_ani.h +++ b/interfaces/kits/js/src/mod_fs/properties/ani/mkdir_ani.h @@ -25,8 +25,8 @@ namespace ANI { class MkdirkAni final { public: - static ani_int MkdirSync0(ani_env *env, [[maybe_unused]] ani_class clazz, ani_string path); - static ani_int MkdirSync1(ani_env *env, [[maybe_unused]] ani_class clazz, ani_string path, ani_boolean recursion); + static void MkdirSync0(ani_env *env, [[maybe_unused]] ani_class clazz, ani_string path); + static void MkdirSync1(ani_env *env, [[maybe_unused]] ani_class clazz, ani_string path, ani_boolean recursion); }; } // namespace ANI -- Gitee