首页 > 其他分享 >async函数执行机制

async函数执行机制

时间:2023-10-20 13:23:21浏览次数:39  
标签:resolve console 函数 res await async 机制 表达式 log

        fn()

        console.log(1);
        setTimeout(() => {
            console.log(4);
        }, 100);
        Promise.resolve().then(()=>{
            console.log(2);
        })

        console.log(3);

        function fnPromise(){
            return new Promise(resolve=>{
                resolve(5)
            })
        }

        async function fn(){
            // const res = await fnPromise() //遇到await就执行紧跟的表达式,然后跳出该函数,只要await后面表达式语句有明确结果,await后一行的代码立即加入微任务队列
           const res = await 51 //遇到await就执行紧跟的表达式,然后跳出该函数,只要await后面表达式语句有明确结果,await后一行的代码立即加入微任务队列
           console.log('res',res);
        }

       result:
       3
       res 51
       2
       4

标签:resolve,console,函数,res,await,async,机制,表达式,log
From: https://www.cnblogs.com/qieting/p/17776848.html

相关文章

  • 16、实现Client远程调用的重试机制
    由于远程程序服务健壮性和网络的波动等因素,可能造成接口调用失败,因此有必要实现Client远程调用的重试机制一、基于异常捕捉的重试机制:publicStringgetDetailFromClient(){//重试次数intretryCount=3;//重试时长(单位:ms)intretryTi......
  • 【模板】扩展 kmp (exkmp) / Z 函数
    求出一个字符串\(s\)的每个后缀与原串的LCP。首先由显然的SAM做法。考虑线性。考虑维护区间\([l,r]\)表示\([l,r]=[1,r-l+1]\)是最右的匹配段。考虑新的\(i\),如果满足\(l\leqi\leqr\),则\(i\)可以直接取\(i-l+1\)的答案继续扩展,否则继续扩展。最后更新区间。......
  • 20个js工具函数助力高效开发
    1、校验数据类型exportconsttypeOf=function(obj){returnObject.prototype.toString.call(obj).slice(8,-1).toLowerCase()}示例:typeOf('树哥')//stringtypeOf([])//arraytypeOf(newDate())//datetypeOf(null)//nulltypeOf(true)//boolean......
  • gcc对构造函数的调用生成
    identifierC++的前端对identifier做了扩展,在每个identifier中还包含了两个cxx_binding字段:namespace_bindings和bindings。当通过字符串找到一个identifier的时候,同时顺带获得了两个binding信息。/*Language-dependentcontentsofanidentifier.*/structGTY(())lang_id......
  • C++零基础教程(函数重载)
    (文章目录)前言本篇文章来讲解函数重载,函数重载在C++中是非常重要的一个概念。一、概念讲解C++中的函数重载是指在同一个作用域中定义多个具有相同名称但参数列表不同的函数。函数重载允许使用相同的函数名来表示执行类似但具有不同参数类型或参数数量的操作。这样做可以提高......
  • mysql函数CASE WHEN简单使用
    实际案例CASEwhencc.cLIKE'%迟到%'THEN'扣一分'ELSENULLEND如果有个需要判断CASEwhencc.cLIKE'%迟到%'THEN'扣一分'whencc.cLIKE'%早退%'THEN'扣两分'ELSENULLEND这里的case和w......
  • 通过Lambda函数的方式获取属性名称
    前言:最近在使用mybatis-plus框架,常常会使用lambda的方法引用获取实体属性,避免出现大量的魔法值.publicList<User>listBySex(){LambdaQueryWrapper<User>wrapper=newLambdaQueryWrapper<>();//lambda方法引用queryWrapper.eq(User::getSex,"男");retur......
  • 深夜测评:讯飞星火大模型vs FuncGPT (慧函数),到底哪家强?
      作为一名程序员,我们可能在多种情况下需要找出两个List中的重复元素。以下是一些常见的应用场景: 数据清理:如果你有两个来自不同源的列表,可能含有重复数据,找出这些重复元素可以帮助你清理数据,提高数据的准确性和质量。 数据合并:当你需要将两个列表合并成一个时,找出并处理......
  • 第二十八篇——一通达信板块函数INSUM、BLOCKSETNUM简介以及应用(从零起步编写通达信指
    有人问:统计指数成分股的收盘价高于20日均线的数量占比(0%~100%),如何编写成副图指标?这种指标公式属于代码不多,难度不小的类型。如果平时编写板块方面的指标比较少,相关板块函数不常用,那需要花点时间研究。 一、所需函数1、STKNAME含义:获取品种名称 2、HYBLOCK......
  • async和await
    https://blog.csdn.net/weixin_44228698/article/details/1087447621,await从线程池中获取线程执行。2,await后的代码从线程池中获取线程执行,与1中的线程号可能相同,也可能不同。3,UI线程执行async,await后的代码回到UI线程执行。4,获取返回结果.Result会阻塞当前线程,注意与3造成死......