1.并发概述

  • 并发是指在同一时间内,存在多个任务同时执行的情况。对于多核设备,这些任务可能同时在不同CPU上并行执行。对于单核设备,多个并发任务不会在同一时刻并行执行,但是CPU会在某个任务休眠或进行I/O操作等状态下切换任务,调度执行其他任务,提升CPU的资源利用率。

  • 为了提升应用的响应速度与帧率,避免耗时任务对UI主线程的影响,ArkTS提供了异步并发处理策略。

2.异步并发概述

异步并发是指异步代码在执行到一定程度后会被暂停,以便在未来某个时间点继续执行,这种情况下,同一时间只有一段代码在执行。ArkTS通过Promise和async/await提供异步并发能力,适用于单次I/O任务的开发场景

3.Promise

        3.1基础概念

  • Promise是一种用于处理异步操作的对象,可以将异步操作转换为类似于同步操作的风格,以方便代码编写和维护
  • 最基本的用法是通过构造函数实例化一个Promise对象,同时传入一个带有两个参数的函数,通常称为executor函数。executor函数接收两个参数:resolve和reject,分别表示异步操作成功和失败时的回调函数

        3.2案例1->通过Promise异步网络请求语录信息,渲染到页面上,效果截图

    一. 效果截图

        

   

二. 代码思路及截图=> 在Viewmodel中发起网络请求,在view监听回调拿到结果渲染页面

        

4.async/await

        4.1.基础概念

  •  async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码变得更加简单和易读
  • 通过使用async关键字声明一个函数为异步函数,并使用await关键字等待Promise的解析
  • 以同步的方式编写异步操作的代码
  • async函数是一个返回Promise对象的函数,用于表示一个异步操作。在async函数内部,可以使用await关键字等待一个Promise对象的解析,并返回其解析值。如果一个async函数抛出异常,那么该函数返回的Promise对象将被拒绝,并且异常信息会被传递给Promise对象的onRejected()方法。

        4.2.案例1中代码,改成async/await模式,代码截图如下

  第一步

第二步

5.粉丝福利,持续更新

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐