0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙原OS开发实例:【ArkTS类库单次I/O任务开发】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-02 21:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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}`);
  })
}

搜狗高速浏览器截图20240326151450.png

采用异步能力调用单次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();

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发
    +关注

    关注

    0

    文章

    376

    浏览量

    42014
  • 鸿蒙
    +关注

    关注

    60

    文章

    2858

    浏览量

    45347
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    鸿蒙OS开发实战:【ArkTS 实现MQTT协议(2)】

    1. 协议传输通道仅为TCPSocket 2. 基于HarmonyOS SDK API 9开发 3. 开发语言:ArkTS,TypeScript
    的头像 发表于 04-01 14:48 2586次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b><b class='flag-5'>开发</b>实战:【<b class='flag-5'>ArkTS</b> 实现MQTT协议(2)】

    鸿蒙OS开发实例:【ArkTS多线程CPU密集型任务TaskPool】

    CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU
    的头像 发表于 04-01 22:25 1700次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b><b class='flag-5'>开发</b><b class='flag-5'>实例</b>:【<b class='flag-5'>ArkTS</b><b class='flag-5'>类</b><b class='flag-5'>库</b>多线程CPU密集型<b class='flag-5'>任务</b>TaskPool】

    ArkTS语言基础-解析

    ArkTS语言基础是HarmonyOS系统上为应用开发者提供的常用基础能力,主要包含能力如下图所示。 图1 ArkTS语言基础
    发表于 02-20 16:44

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

    Promise和async/await提供异步并发能力,适用于I/O任务的场景开发,本文以使
    发表于 03-04 14:07

    鸿蒙原生应用开发-ArkTS语言基础概述

    ArkTS语言基础是HarmonyOS系统上为应用开发者提供的常用基础能力,主要包含能力如下图所示。 1.提供异步并发和多线程并发的能力。 支持Promise和async/awa
    发表于 03-05 15:42

    鸿蒙原生应用开发-ArkTS语言基础多线程I/O密集型任务开发

    使用异步并发可以解决I/O任务阻塞的问题,但是如果遇到I/
    发表于 03-21 14:57

    鸿蒙5开发宝藏案例分享---应用并发设计

    ?** 鸿蒙并发编程实战指南:解锁ArkTS多线程黑科技** 嘿,开发者朋友们! 今天给大家扒一扒鸿蒙官方文档里藏着的并发编程宝藏—— 100+实战场景解决方案 !从金融理财到游戏
    发表于 06-12 16:19

    什么是ArkTS

    场景中用于处理二进制数据流。 Console提供控制台打印的能力。 提供获取进程信息和操作进程的能力。 相关实例 针对语言基础开发,有以下相关
    发表于 06-17 06:24

    HarmonyOS语言基础开发指南上线啦!

    并发能力,适用于I/O任务开发场景。 ○ TaskPool和Worker提供多线程并发能力
    发表于 10-18 16:36

    鸿蒙 OS 应用开发初体验

    的 IDE、鸿蒙生态的开发语言 ArkTS,通过模拟器运行起来了鸿蒙 OS 版 HelloWorld。对于已经有移动
    发表于 11-02 19:38

    鸿蒙开发ArkTS基础知识

    一、ArkTS简介 ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配了鸿蒙的ArkUI框架,扩展了声明式UI、状态管理等相应的能
    的头像 发表于 01-24 16:44 4155次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>之<b class='flag-5'>ArkTS</b>基础知识

    鸿蒙OS开发实例:【ArkTS多线程I/O密集型任务开发

    使用异步并发可以解决I/O任务阻塞的问题,但是如果遇到I/
    的头像 发表于 04-01 16:32 1249次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b><b class='flag-5'>开发</b><b class='flag-5'>实例</b>:【<b class='flag-5'>ArkTS</b><b class='flag-5'>类</b><b class='flag-5'>库</b>多线程<b class='flag-5'>I</b>/<b class='flag-5'>O</b>密集型<b class='flag-5'>任务</b><b class='flag-5'>开发</b>】

    鸿蒙OS开发实例:【ArkTS多线程@Concurrent装饰器校验并发函数】

    在使用TaskPool时,执行的并发函数需要使用该装饰器修饰,否则无法通过相关校验。从API version 9开始,该装饰器支持在ArkTS卡片中使用。
    的头像 发表于 04-02 14:45 1527次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b><b class='flag-5'>开发</b><b class='flag-5'>实例</b>:【<b class='flag-5'>ArkTS</b><b class='flag-5'>类</b><b class='flag-5'>库</b>多线程@Concurrent装饰器校验并发函数】

    鸿蒙OS开发实例:【ArkTS异步并发简述Promise】

    Promise和async/await提供异步并发能力,是标准的JS异步语法。异步代码会被挂起并在之后继续执行,同一时间只有一段代码执行,适用于I/O
    的头像 发表于 04-02 18:37 1571次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b><b class='flag-5'>开发</b><b class='flag-5'>实例</b>:【<b class='flag-5'>ArkTS</b><b class='flag-5'>类</b><b class='flag-5'>库</b>异步并发简述Promise】

    鸿蒙OS开发实例:【组件化模式】

    组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,针对Android端的组件化;与Android端的组件化相比,HarmonyOS的组件化可以说实现起来就颇费
    的头像 发表于 04-07 17:44 1374次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OS</b><b class='flag-5'>开发</b><b class='flag-5'>实例</b>:【组件化模式】