From 0aeb8e6b8d16428390221e6c8726c073e921cbde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E9=91=AB?= Date: Wed, 19 Mar 2025 16:48:28 +0800 Subject: [PATCH] readtext 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 | 52 +++++++------------ .../mod_fs/properties/ani/read_text_ani.cpp | 6 +++ 2 files changed, 24 insertions(+), 34 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 8738e3c4..e29805f7 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 @@ -417,26 +417,18 @@ function readText(filePath: string, options?: ReadTextOptions): Promise if (options == undefined) { let promise = taskpool.execute(FileIoImpl.readTextSync, filePath); promise.then((ret: NullishType): void => { - if (ret === null || ret === undefined) { - let err = new BusinessError(-1, ""); - - reject(err); - } else { - let r = ret as string; - resolve(r); - } + let r = ret as string; + resolve(r); + }).catch((e: BusinessError): void => { + reject(e); }); } else { let promise = taskpool.execute(FileIoImpl.readTextSync, filePath, options); promise.then((ret: NullishType): void => { - if (ret === null || ret === undefined) { - let err = new BusinessError(-1, ""); - - reject(err); - } else { - let r = ret as string; - resolve(r); - } + let r = ret as string; + resolve(r); + }).catch((e: BusinessError): void => { + reject(e); }); } }); @@ -445,30 +437,22 @@ function readText(filePath: string, options?: ReadTextOptions): Promise function readText(filePath: string, callback: AsyncCallback): void { let promise = taskpool.execute(FileIoImpl.readTextSync, filePath); promise.then((ret: NullishType): void => { - let err = new BusinessError(-1, ""); - if (ret === null || ret === undefined) { - err.code = -1; - callback(err, undefined); - } else { - err.code = 0; - let r = ret as string; - callback(err, r); - } + let e = new BusinessError(0, ""); + let r = ret as string; + callback(e, r); + }).catch((e: BusinessError): void => { + callback(e, ""); }); } function readText(filePath: string, options: ReadTextOptions, callback: AsyncCallback): void { let promise = taskpool.execute(FileIoImpl.readTextSync, filePath, options); promise.then((ret: NullishType): void => { - let err = new BusinessError(-1, ""); - if (ret === null || ret === undefined) { - err.code = -1; - callback(err, undefined); - } else { - err.code = 0; - let r = ret as string; - callback(err, r); - } + let e = new BusinessError(0, ""); + let r = ret as string; + callback(e, r); + }).catch((e: BusinessError): void => { + callback(e, ""); }); } diff --git a/interfaces/kits/js/src/mod_fs/properties/ani/read_text_ani.cpp b/interfaces/kits/js/src/mod_fs/properties/ani/read_text_ani.cpp index 2c1c64d8..bd7dbd55 100644 --- a/interfaces/kits/js/src/mod_fs/properties/ani/read_text_ani.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/ani/read_text_ani.cpp @@ -17,6 +17,7 @@ #include #include "ani_helper.h" +#include "error_handler.h" #include "filemgmt_libhilog.h" #include "read_text_core.h" #include "type_converter.h" @@ -70,18 +71,22 @@ ani_string ReadTextAni::ReadTextSync( auto [succOpt, options] = ToReadTextOptions(env, obj); if (!succOpt) { HILOGE("Ivalid options"); + ErrorHandler::Throw(env, EINVAL); return nullptr; } auto [succPath, path] = TypeConverter::ToUTF8String(env, filePath); if (!succPath) { HILOGE("Invalid Path"); + ErrorHandler::Throw(env, EINVAL); return nullptr; } auto ret = ReadTextCore::DoReadText(path, options); if (!ret.IsSuccess()) { HILOGE("DoReadText failed"); + const auto &err = ret.GetError(); + ErrorHandler::Throw(env, err); return nullptr; } @@ -90,6 +95,7 @@ ani_string ReadTextAni::ReadTextSync( auto [succ, result] = TypeConverter::ToAniString(env, res); if (!succ) { HILOGE("Create ani_string error"); + ErrorHandler::Throw(env, UNKNOWN_ERR); return nullptr; } return result; -- Gitee