异步

生成十个随机数,每隔一秒生成一个

setTimeout(() => {

            console.log(Math.random() + '');

          setTimeout(() => {

                console.log(Math.random() + '');

                setTimeout(() => {

                    console.log(Math.random() + '');

                    setTimeout(() => {

                        console.log(Math.random() + '');

                        setTimeout(() => {

                            console.log(Math.random() + '');

                            setTimeout(() => {

                                console.log(Math.random() + '');

                          }, 1000);

                        }, 1000);

                    }, 1000);

                }, 1000);

            }, 1000);

        }, 1000);

这样会陷入死循环,因此被称为 回调地狱

## 异步并发

Promise和async/await 提供异步并发能力

Promise有三种状态:

pending(进行中)

fulfilled(已完成)

rejected(已拒绝,出现错误)

reslove(成功) reject (失败)

加入判定

if语句中使用reslove reject

then用来处理reslove的数据 data成功后返回的数据

则catch表示失败,出现错误回直接停止代码运行

.catch在外部加入属于判断整体

若在中间加入则表示判断某一段落

err=》{

console。log(err)

表示处理失败

如果上个then的异步操作正确那么

接下来的then接受的是上一个return的结果

## 使用异步函数

async function asy() {

            console.log('开始执行异步操作');

            try {

            let num1=await p()

            console.log(num1);

            let num2=await p()

            console.log(num2);

            }catch(err){

                console.log(err);

            }

        }

## arkTs的异步

在arkTs中必须声明函数类型

再用if语句

reslove必须和声明的函数类型对应

而reject不与声明的函数类型有关系

## arkTs的遍历

在arkTs中遍历先导出

然后与Js差异不大

Logo

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

更多推荐