鸿蒙原生应用开发-ArkTS语言基础类库单次I/O任务开发

鸿蒙时代
发布于 2024-3-4 11:43
浏览
1收藏

Promise和async/await提供异步并发能力,适用于单次I/O任务的场景开发,本文以使用异步进行单次文件写入为例来提供指导。
实现单次I/O任务逻辑。

import fs from '@ohos.file.fs';
import common from '@ohos.app.ability.common';

async function write(data: string, file: fs.File): Promise<void> {
  fs.write(file.fd, data).then((writeLen: number) => {
    console.info('write data length is: ' + writeLen)
  }).catch((err) => {
    console.error(`Failed to write data. Code is ${err.code}, message is ${err.message}`);
  })
}

采用异步能力调用单次I/O任务。

async function testFunc(): Promise<void> {
  let context = getContext() as common.UIAbilityContext;
  let filePath: string = context.filesDir + "/test.txt"; // 应用文件路径
  let file: fs.File = await fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  write('Hello World!', file).then(() => {
    console.info('Succeeded in writing data.');
  }).catch((err) => {
    console.error(`Failed to write data. Code is ${err.code}, message is ${err.message}`);
  })
  fs.close(file);
}
testFunc();

本文参考引用HarmonyOS官方开发文档,基于API9。

鸿蒙原生应用开发-ArkTS语言基础类库单次IO.docx 20.07K 53次下载
收藏 1
回复
举报
回复
    相关推荐