ArkTS 中 Promise 的使用
00 分钟
2024-1-8
2024-1-8
type
status
date
slug
summary
tags
category
icon
password
在 Harmony OS 中,我们经常会看到一种用法:
这种方式就是JS原生实现的Promise ;在代码异步执行时(有关于异步编程,可以上 JavaScript 异步编程 | 菜鸟教程 (runoob.com) 查看),我们并不能在主线程中立刻获取到返回值,需要使用回调来获取返回值并利用返回值。但是在使用回调时,会出现多重回调的情况,不利于阅读代码。
这里只介绍在ArkTS中如何使用Promise,别的不概述。

介绍

Promise 相当于一个容器,在异步方法执行时,把结果或者失败信息保存在容器中,然后由容器来执行异步结束的操作。
当我们在自定义一个异步方法时,例如HMOS中读取sqlite数据库,我们封装了一个函数:
值得注意的时,使用 resolve 或 reject 后,内部的匿名函数并不会终止运行,我们需要使用return来终止运行,且如果我们两次使用 resolve 或 reject ,后面的值会覆盖前面的值。
在使用返回值时,我们需要调用方法以后,获取到一个Promise对象,使用这个对象的then函数来获取返回值。

创建

我们只需要使用泛型把返回值写好,然后在函数中返回即可。
其中两个参数:
  • resolve:当异步代码执行成功时,我们调用,将返回值设置其中(resolve(data);
  • reject:当异步代码执行失败时,我们调用,将失败信息写在里面(reject(new Error("errMsg"));

使用

 
上一篇
自定义堆叠循环列表
下一篇
HarmonyOS开发 ArkTS 适用的 .gitignore 文件

评论
Loading...