首页 > 其他分享 >一道Promise面试题,并对比向其代码中添加await关键字后的变化

一道Promise面试题,并对比向其代码中添加await关键字后的变化

时间:2023-05-09 21:45:04浏览次数:42  
标签:面试题 resolve console log await Promise

标准代码:

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

    console.log(5);
})();

// 输出结果:
// - 1
// - 3
// - 5
// - 4
// - 2

 

在promise对象前添入 await 后:

(async function() {
    console.log(1);
    window.setTimeout(() => {
        console.log(2);
    }, 100);

    await new Promise((resolve) => {
        console.log(3);
        resolve();
    })
        .then(() => {
            console.log(4);
        });

    console.log(5);
})();

// 输出结果:
// - 1
// - 3
// - 4
// - 5
// - 2

 

标签:面试题,resolve,console,log,await,Promise
From: https://www.cnblogs.com/fanqshun/p/17386388.html

相关文章

  • 面试题之数据库存储引擎
    目录复习老师讲得什么是存储引擎?如何查看常见存储引擎的方式?需要了解的四个存储引擎了解不同存储引擎底层文件个数补充了解详细概念数据库引擎的类型1、InnoDB引擎2、ISAM引擎3、MYISAM引擎4、MEMORY存储引擎5、HEAP引擎6、ARCHIVE引擎7、BERKLEYDB引擎InnoDB与MyISAM差别ACID复......
  • element-ui上传组件,before-upload发送异步请求 + Promise
    element-ui上传组件,before-upload发送异步请求+Promisebefore-upload为false的时候会阻止图片的上传但是和chenge事情一起不行可以:http-request="fnUploadRequest"<el-upload--snip--:before-upload="beforeAvatarUpload"--snip--......
  • 前端面试题-常见的水平垂直居中实现方案
    方案一:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="w......
  • #yyds干货盘点# LeetCode面试题:不同的二叉搜索树 II
    1.简述:给你一个整数 n ,请你生成并返回所有由 n 个节点组成且节点值从 1 到 n 互不相同的不同 二叉搜索树 。可以按 任意顺序 返回答案。 示例1:输入:n=3输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]示例2:输入:n=1输出:[[1]]2.代......
  • Java后端真实、靠谱、强大的面试题网站:面试梯
    ​ 本文分享一个给力的Java后端面试题网站:面试梯。网址:https://offer.skyofit.com这套题真实、高频、全面、有详细答案、保你稳过面试,让你成为offer收割机。题目包括:Java基础、多线程、JVM、数据库、Redis、Shiro、Spring、SpringBoot、MyBatis、MQ、ELK、分布式、SpringCloud......
  • Mysql面试题
    1.Mysql基础1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、groupby子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;6、计算所有的表达式;7、select的字段;8、使用orderby对结果集进行排序。SQL语言不同......
  • Python实操面试题
    1、一行代码实现1--100之和#利用sum()函数求和sum(range(1,101))2、如何在一个函数内部修改全局变量#利用global在函数声明修改全局变量a=5deffunc(): globalaa=10func()print(a)#结果:103、列出5个python标准库'''os:提供了不少与操作系统......
  • Django面试题
    1.DjangoORM查询中select_related和prefetch_related的区别??defselect_related(self,*fields)性能相关:表之间进行join连表操作,一次性获取关联的数据。总结:1.select_related主要针一对一和多对一关系进行优化。2.select_related使用SQL的JOIN语句进行......
  • Flask 面试题
    1.Flask中正则URL的实现?app.route('')中URL显式支持string、int、float、pathuuidany6种类型,隐式支持正则。第一步:写正则类,继承BaseConverter,将匹配到的值设置为regex的值。1.classRegexUrl(BaseConverter):2.def__init__(self,url_map,*args):3.......
  • tornado面试题
    tornado1、tornado中的gen.coroutine的作用?#tornado的coroutine装饰器,使得回调函数可以用同步的方式实现,极大提高了代码的可读性。它的实现涉及到了yield,ioloop和Future的模块。2、简述tornado框架特点及应用场景。#web聊天室,在线投票等操作!3、tornado框架中Futu......