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

    文章

    352

    浏览量

    40670
  • 鸿蒙
    +关注

    关注

    55

    文章

    2103

    浏览量

    42273
收藏 人收藏

    评论

    相关推荐

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

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

    鸿蒙开发:【从TypeScript到ArkTS的适配规则】

    ArkTS通过规范约束了TypeScript(简称TS)中过于灵活而影响开发正确性或者给运行时带来不必要额外开销的特性
    的头像 发表于 05-14 09:37 946次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>:【从TypeScript到<b class='flag-5'>ArkTS</b>的适配规则】

    鸿蒙ArkTS的起源和简介

    ArkTS声明式开发范式的基本组成说明如下: 装饰器 用来装饰、结构体、方法以及变量,赋予其特殊的含义,如上述示例中 @Entry 、 @component 、 @State 都是装饰器。具体而言
    发表于 01-16 16:23

    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

    OpenHarmony 应用开发SDK、API 与基础工具

    类似于 ArkTS API 上的完整鸿蒙平台能力,开发者可以使用 C API 开发支持鸿蒙应用框架的扩展动态
    发表于 09-19 15:45

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

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

    鸿蒙 OS 应用开发初体验

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

    鸿蒙OS2.0手机开发者Beta版登场

    12 月 16 日,华为宣布正式推出鸿蒙 OS 的手机开发者 Beta 版,并正式面向个人/企业开发者公测鸿蒙 2.0,
    的头像 发表于 12-16 14:39 2032次阅读

    华为鸿蒙OS 2.0开发者公测版本大批量向已申请开发者推送

    4 月 27 日,华为鸿蒙 OS 2.0 开发者公测版本大批量向已申请的开发者推送,随后网上出现大量鸿蒙
    的头像 发表于 05-12 09:26 2903次阅读

    鸿蒙开发ArkTS基础知识

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

    鸿蒙开发用什么语言?

    Java的,从API8开始,只能用Arkts,js或着C++开发了,我们这篇文章重点讲下应用级别的开发鸿蒙应用开发 和安卓应用和IOS应
    的头像 发表于 01-30 16:12 936次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>用什么语言?

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

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