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

打印 上一主题 下一主题

主题 639|帖子 639|积分 1917

Promise和async/await提供异步并发能力,是标准的JS异步语法。异步代码会被挂起并在之后继续实行,同一时间只有一段代码实行,实用于单次I/O任务的场景开辟,例如一次网络请求、一次文件读写等操作。异步语法是一种编程语言的特性,允许步伐在实行某些操作时不必等待其完成,而是可以继续实行其他操作。
Promise是一种用于处理异步操作的对象,可以将异步操作转换为雷同于同步操作的风格,以方便代码编写和维护。Promise提供了一个状态机制来管理异步操作的差别阶段,并提供了一些方法来注册回调函数以处理异步操作的成功或失败的结果。
Promise有三种状态:pending(举行中)、fulfilled(已完成)和rejected(已拒绝)。Promise对象创建后处于pending状态,并在异步操作完成后转换为fulfilled或rejected状态。
最基本的用法是通过构造函数实例化一个Promise对象,同时传入一个带有两个参数的函数,通常称为executor函数。executor函数吸收两个参数:resolve和reject,分别表示异步操作成功和失败时的回调函数。例如,以下代码创建了一个Promise对象并模仿了一个异步操作:鸿蒙开辟应用知识已更新docs.qq.com/doc/DUmN4VVhBd3NxdExK参考前往。


  1. const promise = new Promise((resolve, reject) => {
  2.   setTimeout(() => {
  3.     const randomNumber = Math.random();
  4.     if (randomNumber > 0.5) {
  5.       resolve(randomNumber);
  6.     } else {
  7.       reject(new Error('Random number is too small'));
  8.     }
  9.   }, 1000);
  10. });
复制代码
上述代码中,setTimeout函数模仿了一个异步操作,并在1秒钟后随机天生一个数字。如果随机数大于0.5,则实行resolve回调函数并将随机数作为参数传递;否则实行reject回调函数并传递一个错误对象作为参数。
Promise对象创建后,可以使用then方法和catch方法指定fulfilled状态和rejected状态的回调函数。then方法可继承两个参数,一个处理fulfilled状态的函数,另一个处理rejected状态的函数。只传一个参数则表示状态改变就实行,不区分状态结果。使用catch方法注册一个回调函数,用于处理“失败”的结果,即捕获Promise的状态改变为rejected状态或操作失败抛出的异常。例如:
  1. promise.then(result => {
  2.   console.info(`Random number is ${result}`);
  3. }).catch(error => {
  4.   console.error(error.message);
  5. });
复制代码
上述代码中,then方法的回调函数吸收Promise对象的成功结果作为参数,并将其输出到控制台上。如果Promise对象进入rejected状态,则catch方法的回调函数吸收错误对象作为参数,并将其输出到控制台上。
鸿蒙最值得步伐员入行

为什么这么说?市场是决定人力需求的,数听说话最管用:
1、鸿蒙其全栈自研,头部大厂商都连续参加互助开辟鸿蒙原生应用——人才需求上涨
2、鸿蒙作为新系统、新技术,而现在市面上技术人才少——高薪雇用开启
3、鸿蒙1+8+N生态,不仅只有应用开辟;另有车载、数码、智能家居、家电等——就业范围广
4、纯血鸿蒙,目前没有多少人熟悉。都处于0根本同一起跑线——无行业内卷

开辟者最需要什么?岗位多、薪资高、不内卷、行业竞争低。而当下的鸿蒙恰好符合要求。
那么这么好的鸿蒙岗位,应聘要求都很高吧?实在不然鸿蒙作为新出的独立系统,其源头上大家都处于同一程度线上,一开始的技术要求都不会很高,究竟口试官也是刚起步学习。雇用要求示例:

从信息看出,几乎应职要求是对标有开辟履历的人群。可以说鸿蒙对开辟者非常友好,只管上面没提鸿蒙要求,但是口试都会筛选具有鸿蒙开辟技能的人。我们步伐员都知道学习开辟技术,开始是从语言学起,鸿蒙语言有TS、ArkTS等语法,那么除了这些根本知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习门路图表示:

从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也优劣常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力


内容包罗:《鸿蒙NEXT星河版开辟学习文档》


  • ArkTS
  • 声明式ArkUI
  • 多媒体
  • 通讯问题
  • 系统移植
  • 系统裁剪
  • FW层的原理
  • 各种开辟调试工具
  • 智能设备开辟
  • 分布式开辟等等。
这些就是对今后开辟者的分享,希望大家多多点赞关注喔!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

雁过留声

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表