竞价托管就选微竞价,如何查看网站seo,南山网站设计,wordpress SuffusionPromise和async/await提供异步并发能力#xff0c;是标准的JS异步语法。异步代码会被挂起并在之后继续执行#xff0c;同一时间只有一段代码执行#xff0c;适用于单次I/O任务的场景开发#xff0c;例如一次网络请求、一次文件读写等操作。
异步语法是一种编程语言的特性是标准的JS异步语法。异步代码会被挂起并在之后继续执行同一时间只有一段代码执行适用于单次I/O任务的场景开发例如一次网络请求、一次文件读写等操作。
异步语法是一种编程语言的特性允许程序在执行某些操作时不必等待其完成而是可以继续执行其他操作。
Promise
Promise是一种用于处理异步操作的对象可以将异步操作转换为类似于同步操作的风格以方便代码编写和维护。Promise提供了一个状态机制来管理异步操作的不同阶段并提供了一些方法来注册回调函数以处理异步操作的成功或失败的结果。
Promise有三种状态pending进行中、fulfilled已完成和rejected已拒绝。Promise对象创建后处于pending状态并在异步操作完成后转换为fulfilled或rejected状态。
最基本的用法是通过构造函数实例化一个Promise对象同时传入一个带有两个参数的函数通常称为executor函数。executor函数接收两个参数resolve和reject分别表示异步操作成功和失败时的回调函数。例如以下代码创建了一个Promise对象并模拟了一个异步操作
const promise: Promisenumber new Promise((resolve: Function, reject: Function) {
setTimeout(() {const randomNumber: number Math.random();if (randomNumber 0.5) {resolve(randomNumber);} else {reject(new Error(Random number is too small));}
}, 1000);
})
ts上述代码中setTimeout函数模拟了一个异步操作并在1秒钟后随机生成一个数字。如果随机数大于0.5则执行resolve回调函数并将随机数作为参数传递否则执行reject回调函数并传递一个错误对象作为参数。
Promise对象创建后可以使用then方法和catch方法指定fulfilled状态和rejected状态的回调函数。then方法可接受两个参数一个处理fulfilled状态的函数另一个处理rejected状态的函数。只传一个参数则表示状态改变就执行不区分状态结果。使用catch方法注册一个回调函数用于处理“失败”的结果即捕获Promise的状态改变为rejected状态或操作失败抛出的异常。例如
import { BusinessError } from ohos.base;promise.then((result: number) {console.info(Random number is ${result});
}).catch((error: BusinessError) {console.error(error.message);
});
ts上述代码中then方法的回调函数接收Promise对象的成功结果作为参数并将其输出到控制台上。如果Promise对象进入rejected状态则catch方法的回调函数接收错误对象作为参数并将其输出到控制台上。
async/await
async/await是一种用于处理异步操作的Promise语法糖使得编写异步代码变得更加简单和易读。通过使用async关键字声明一个函数为异步函数并使用await关键字等待Promise的解析完成或拒绝以同步的方式编写异步操作的代码。
async函数是一个返回Promise对象的函数用于表示一个异步操作。在async函数内部可以使用await关键字等待一个Promise对象的解析并返回其解析值。如果一个async函数抛出异常那么该函数返回的Promise对象将被拒绝并且异常信息会被传递给Promise对象的onRejected()方法。
下面是一个使用async/await的例子其中模拟了一个异步操作该操作会在3秒钟后返回一个字符串。
async function myAsyncFunction(): Promisevoid {const result: string await new Promise((resolve: Function) {setTimeout(() {resolve(Hello, world!);}, 3000);});console.info(result); // 输出 Hello, world!
}myAsyncFunction();
ts在上述示例代码中使用了await关键字来等待Promise对象的解析并将其解析值存储在result变量中。
需要注意的是由于要等待异步操作完成因此需要将整个操作包在async函数中。除了在async函数中使用await外还可以使用try/catch块来捕获异步操作中的异常。
async function myAsyncFunction(): Promisevoid {try {const result: string await new Promise((resolve: Function) {resolve(Hello, world!);});} catch (e) {console.error(Get exception: ${e});}
}myAsyncFunction();为了帮助大家更深入有效的学习到鸿蒙开发知识点小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源获取完整版方式请点击→HarmonyOS教学视频https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
HarmonyOS教学视频语法ArkTS、TypeScript、ArkUI等…视频教程 鸿蒙生态应用开发白皮书V2.0PDF 获取完整版白皮书方式请点击→https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?ua42c4946d1514235863bb82a7b2ac128 鸿蒙 (Harmony OS)开发学习手册→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
一、入门必看
1.应用开发导读(ArkTS) 2………
二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.系统定义 2.技术架构 3.技术特性 4.系统安全 5…
三、如何快速入门→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.基本概念 2.构建第一个ArkTS应用 3…
四、开发基础知识→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.应用基础知识 2.配置文件 3.应用数据管理 4.应用安全管理 5.应用隐私保护 6.三方应用调用管控机制 7.资源分类与访问 8.学习ArkTS语言
五、基于ArkTS 开发→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3
1.Ability开发 2.UI开发 3.公共事件与通知 4.窗口管理 5.媒体 6.安全 7.网络与链接 8.电话服务 9.数据管理 10.后台任务(Background Task)管理 11.设备管理 12.设备使用信息统计 13.DFX 14.国际化开发 15.折叠屏系列
更多了解更多鸿蒙开发的相关知识可以参考https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3