验证Promise是同步的

2023-05-16

前言

Promise是ES6提出的解决异步编程导致陷入回调的地狱问题。

例子1

    console.log(1);
    var a=new Promise(function(resolve, reject){
        console.log(2);
        resolve();
    });
    console.log(2);
    var b = new Promise(function(resolve, reject){
        console.log(4);
        resolve();
    });
    console.log(5);
    a.then(function(){
        console.log(6);
    });
    b.then(function(){
        console.log(7);
    });

顺序输出:1~7

例子2

console.log(1);
        var a = new Promise(function(resolve, reject){
        resolve();
        console.log(2);
    });
    a.then(function(){
        console.log(6);
    });
    console.log(3);
    var b = new Promise(function(resolve, reject){
        resolve();
        console.log(4);
    });
    b.then(function(){
        console.log(7);
    });
    console.log(5);

 顺序输出:1~7

结论

Promise本身是同步的,但.then和.catch方法是异步的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

验证Promise是同步的 的相关文章

  • JavaScript 中的 Promise.all:如何获取所有 Promise 的解析值?

    我编写了以下node js文件 var csv require csv parser var fs require fs var Promise require bluebird var filename devices csv var d
  • 如何将 setTimeout 添加到使用 redux 的 fetch Promise 中?

    经过一定的秒数后 如果获取承诺尚未得到解决 我想向用户显示超时错误 我在这里看到了一些添加 setTimeout 来获取的很好的例子 https github com github fetch issues 175 https github
  • AngularJS 服务并承诺最佳实践

    我有一个 AngularJS 应用程序services 调用 http资源并返回promise我在控制器中解决了这个问题 这是我正在做的事情的示例 app service Blog function http q var deferred
  • 获取 Promise 的值并分配给变量

    utility fetchInfo 返回一个 Promise 对象 我需要能够获取此 Promise 对象的值 并将其值分配给一个变量 以便稍后在我的代码中使用 此刻 我可以愉快地打印出result到控制台 但我需要能够将此值分配给myVa
  • 关于 Node.js Promise then 和 return?

    我对承诺感到困惑 I use 那么就答应没有返回像这样 new Promise resolve reject gt resolve 1 then v1 gt console log v1 new Promise resolve reject
  • AWS Lambda 提前结束(没有任何显式返回或回调)

    我在放入 AWS Lambda 中的一些 Node js 代码时遇到了一些问题 我需要进行几个异步调用 虽然第一个调用的行为符合我的预期 但 lambda 函数在第二个调用完成之前终止 返回值为 null 这让我认为 lambda 正在执行
  • 函数不会等到 Promise 得到解决

    我正在开发一个简单的不和谐机器人 我正在尝试打印有关某个玩家的一些一般数据 我最近了解了 async await 并尝试将其实现到我的代码中 然而 它似乎不起作用 因为当我第一次触发此代码时 它会打印 null 但在后续触发时 它将打印正确
  • Chrome 扩展同步调用 - 仅在窗口关闭后创建窗口

    我有这个代码 function voteNewWindow mailNum chrome windows create url http www google com incognito true function window conso
  • 何时不使用承诺[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在阅读了数十篇关于 es6 Promise 有多伟大以及为什么我们应该实现它们的文章之后 我有这样的感觉 ALL我的 不平凡的 JavaScri
  • 等待承诺的 fs.writeFile 与 fs.writeFileSync

    此选项之一有一些优点吗 1 const fs require fs const testFunc1 async gt fs writeFileSync text txt hello world 2 const fs require fs c
  • 为 Promise 编写循环的正确方法。

    如何正确构造循环以确保满足以下条件承诺电话和被束缚的记录器 log res 通过迭代同步运行 蓝鸟 db getUser email then function res logger log res this is a promise 我尝
  • 在 Node.js 中一次迭代 50 个项目的数组

    我是 node js 的新手 目前正在尝试编写数组迭代代码 我有一个包含 1 000 个项目的数组 由于服务器负载问题 我想一次迭代 50 个项目的块 我目前使用 forEach 循环 如下所示 我希望将其转换为上述块迭代 result i
  • 解析:Promise.when 有很多 Promise?

    解析文档 https www parse com docs js symbols Parse Promise html when https www parse com docs js symbols Parse Promise html
  • 停止 Angular-ui-router 导航,直到承诺得到解决

    我想防止发生 Rails 设计超时时发生的一些闪烁 但 Angular 直到资源出现下一个授权错误时才知道 发生的情况是模板被渲染 一些ajax调用资源发生 然后我们被重定向到rails设备进行登录 我宁愿在每次状态更改时对 Rails 执
  • 在 Map() 的条目上使用 Promise.all

    我正在使用 Map 来表示一些键 值对 let myMap new Map myMap set foo bar myMap set foo2 bar42 对于每个 Map 条目 我执行一个返回 Promise 的函数 所有这些 Promis
  • Node.js 将 async/await 与 mysql 一起使用

    我一直在尝试在节点中将 async await 与 MySQL 一起使用 但它每次都会返回一个未定义的值 有理由吗 请在下面找到我的代码 const mysql require promise mysql var connection co
  • 使用 Promise 的多路流的正确模式

    所以我在过去的几天里一直在玩承诺 只是试图转换一些项目 使用承诺 但我不止一次遇到这个问题 在阅读文章和教程时 一切看起来都很顺利和干净 getDataFromDB then makeCalculatons then getDataFrom
  • Node.js 检测两个猫鼬查找何时完成

    我正在尝试使用自动完成功能初始化两个输入library https www devbridge com sourcery components jquery autocomplete 当我加载页面时 我将触发 Ajax 来初始化两个输入文本
  • JavaScript 中的 Promise 有什么意义?

    一个承诺是一个 可能现在可用 或将来可用 或永远不可用的值 来源 MDN 假设我有一个想要处理图片的应用程序 图片已加载 例如在算法在后台使用它之后 或某种其他类型的延迟 现在我想检查一下图片是否可以在future 通过使用承诺 而不是回调
  • 引导程序提前输入未填充承诺的响应

    我的引导程序预输入如下

随机推荐

  • Linux字符设备注册函数 register_chrdev详解

    Linux字符设备注册函数 register chrdev 详解 当我们需要注册字符设备的时候 xff0c 需要 module init 中调用 register chrdev 注册 下面主要介绍接口的实现过程与细节 内核函数前面添加 代表
  • phy基础知识总结 common register总结

    PHY篇 以太网PHY标准寄存器分析 PHY 是IEEE802 3中定义的一个标准模块 xff0c STA xff08 station management entity xff0c 管理实体 xff0c 一般为MAC或CPU xff09
  • linux 命令行下查看 html 和 pdf 文件方法

    1 xff1a 打开 html 文件 在linux 命令行 输入firefox help 显示信息 查看某个html 文件 xff0c 举例如下 xff0c 输入命令后 大概需要等3秒 xff0c firefox进程启动 xff0c 浏览器
  • ROS 与 MATLAB通信

    ros 与 matlab 通讯使用的是ros中的主从机策略 1 准备条件 1 首先我们需要在matlab上安装 Robotics System Toolbox 工具箱 xff0c matlab2015B及以后自动安装有这个工具箱 xff0c
  • radmin

    正向连接 xff1a 由控制端发起连接 xff08 RADMIN xff09 反向链接 xff1a 由被控端发起连接 xff08 鸽子 xff09 radmin视频教程 xff1a http video sina com cn v b 68
  • Python利用GPU加速代码进行深度学习

    对于初次使用GPU加速代码的学习者来说 xff0c 需要在电脑上安装支持GPU加速的部件 xff0c 分以下三个步骤 xff1a 安装支持GPU版本的Pytorch xff08 非cpu版本 xff09 安装GPU版本的pytorch 在如
  • 6.4学习记录

    因为最近在看的一本书叫 高质量前入式LinuxC编程 xff0c 所以大部分内容是直接借鉴的 以下为6 4的学习记录 1 数据类型这一章中 xff0c 变量和常量的区分 局部变量和全局变量的区分 2 基本内置类型 有整形 xff0c 实型
  • docker常用命令

    Docker https www docker com 是一个不断发展的系统 xff0c 开发人员主动致力于提高使用率和性能 所以命令总是在变化 Docker命令经常被弃用并替换为新的或更有效的命令 你可以使用help选项检查Docker安
  • 函数指针的好处、作用

    C中函数指针的作用 项目中用到了很多封装在struct中的函数指针 xff0c 以前在MFC里面经常用到则个作为回调函数 xff0c 还以为是微软设计的特色呢 在网上查了一下它的用法 xff0c 做个总结 1 xff09 提供调用的灵活性
  • WPF水平布局和垂直布局

    一 控件水平排列 lt StackPanel Orientation 61 34 Horizontal 34 Grid Row 61 34 1 34 VerticalAlignment 61 34 Center 34 HorizontalA
  • 根据ip和子网掩码判断两个ip是否在同一个子网

    题目描述 xff1a 子网掩码的要求 xff1a 1 xff09 如255 255 255 0 每个整形都不能大于255 转换成二进制的字符串 xff0c 必须前面全为1 xff0c 后面全为0 ip地址的要求 xff1a 1 xff09
  • pom.xml 转换为gradle报错 spring-boot-starter-parent-1.5.9.RELEASE.pom. Return code is: 501

    pom xml 转换为gradle 时候报错 xff1a Execution failed for task 39 init 39 gt Could not convert Maven POM D studentSpace jinxiaoc
  • 笔记本电脑外放声音吱吱响怎么办?

    问题分析 xff1a 1 硬件问题 xff1a 喇叭坏了 2 软件设置问题 xff1a 声音产生冲突了 解决方案 xff1a 当一个喇叭坏了 xff0c 或者两个喇叭的声音冲突了 xff0c 都可以使用如下方式 xff1a 针对于win10
  • mac修改默认终端为iterm2

  • 视频下载4大神器

    1 downie 可以下载 上面所有你想的到的视频网站的视频 xff0c 而且下载速度很快 2 ykdl 可以通过命令行下载爱奇艺的视频 xff0c 还有其他网站的视频 3 you get 4 youtube dl
  • jupyter_notebook_config.py的配置详解

    Configuration file for jupyter notebook Application SingletonConfigurable configuration This is an application The date
  • js Function 参数按值传递详解

    如果传入参数是基本数据类型 xff0c 那么按值传递是很容易理解的 xff1b 如果传入参数是引用数据类型 xff0c 那么会很容易陷入误区 xff0c 错误地认为是引用传递 xff1b 错误例子一 xff1a function setCo
  • 准确率、精准率、召回率和F1值详解

    专业术语的中英文对照表 英文名准确率Accuracy精准率Precise召回率RecallF1值F1 measure Precise和Recall是广泛应用在信息检索和统计学分类领域的两个度量值 xff0c 用来评价结果的质量 xff1b
  • snippet,让你编码效率翻倍

    为什么谈到Snippet 今天下午在用vscode做小程序的时候 xff0c 发现很不方便 xff0c 因为商店里提供的代码片段极为有限 xff0c 而且平时几乎每天都需要用到代码片段 xff0c 所以就在思考他们是怎么做到给别人提供代码的
  • 验证Promise是同步的

    前言 Promise是ES6提出的解决异步编程导致陷入回调的地狱问题 例子1 console log 1 var a 61 new Promise function resolve reject console log 2 resolve