javaScript:宏任务与微任务的运行顺序

2023-11-02

在写代码的时候,我使用Element组件中的表单重置方法,和vue中子传父方法

这里我想要通过 async 和 await 的特点【await 下一行代码作为微任务执行】来规定代码的执行顺序【让重置方法 滞后 于数据传递 执行】

// 确定按钮 子组件
async clickYES() {
    await this.$emit('clickYES', this.form)
    this.$refs.form.resetFields()
},

// 父组件
<formStaff ref="staff" @clickYES="clickYES" />

async clickYES(form) {
      // 点击确定
   if (form.id) {
      //封装的接口
      await putstaffAPI(this.form)
      this.$message.success('修改成功!')
   } else {
      await addstaffAPI(this.form)

      this.$message.success('添加成功!')
   }
 },

出现问题:当我触发clickYES事件的时候传递出来的表单数据都是空的

这里我想到的是微任务的执行顺序还是太过于靠前,在我将数据传递出来之前就将表单数据重置了

解决办法:这里我想到的就是 既然微任务 不行 就将他强行改造成宏任务【更加滞后的执行】


clickYES() {
  this.$emit('clickYES', this.form)
  setTimeout(() => {
    this.$refs.form.resetFields()
  }, 0)
},

【将表单重置 套在定时器里面 这样就将他放在了宏任务中】

此时代码的运行结果就达到了我的预期:表单重置滞后数据导出

那为什么会出现 微任务无法完全滞后 的问题呢?

简单的来说,微任务和宏任务皆为异步任务,但是微任务的优先级高于宏任务

事件循环中,开始循环宏任务的时候,他会优先循环微任务在开始循环宏任务

参考资料:(1条消息) JavaScript:事件循环机制-宏任务微任务_axios是宏任务_Neeky Zeng的博客-CSDN博客

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

javaScript:宏任务与微任务的运行顺序 的相关文章

  • Google reCaptcha 永远加载

    我在我的网站上使用 Google 的 reCaptcha 2 0 它曾经运行良好 但自从我向公众开放我的网站并获得了更多用户后 recaptcha 不再适用于大多数用户 它加载得很好 但一旦用户单击 我不是机器人 复选框 它会永远加载并且从
  • JavaScript 中的“new”关键字是什么?

    The newJavaScript 中的关键字第一次遇到时可能会很混乱 因为人们倾向于认为 JavaScript 不是面向对象的编程语言 它是什么 它解决什么问题 什么时候合适 什么时候不合适 它做了 5 件事 它创建一个新对象 这个对象的
  • 使用 requirejs 加载外部脚本而无需访问配置

    我正在尝试在我正在编写的插件中加载数据表 javascript 库 问题是 当我加载外部资源时 我会遇到冲突 因为当我调用 require 时 数据表与某些内容发生冲突 这是错
  • 动态表中每个按钮的 Jquery-Ui 对话框表单

    我正在生成一个 HTML 表 每行都有一个按钮 必须打开 Jquery ui 对话框表单 The table table class table table reporting table condensed table striped t
  • 将数组转换为具有默认值的对象的更简洁方法? (洛达什可用)

    我有一个数组 比如说 a b c 我想将其转换为一个对象 该对象以数组值作为键和我可以设置的默认值 所以如果默认值是true 我希望我的输出是 a true b true c true 下面的代码是否有更简洁的版本来实现此目的 var my
  • 如何在提交表单之前删除自动数字格式?

    我正在使用 jQuery 插件自动数字 http www decorplanit com plugin 但是当我提交表单时 我无法删除之前字段上的格式POST 我尝试使用 input autonumeric destroy 和其他方法 但它
  • Nodemailer:从未收到问候语

    当尝试使用 Nodemailer 在 Node 内发送电子邮件时 https github com nodemailer nodemailer https github com nodemailer nodemailer 调用sendMai
  • 光滑的旋转木马不工作

    我一直在尝试简单地实现 Slick Carousel 的工作 我已按照 Git 页面上的说明进行操作 https github com kenwheeler slick https github com kenwheeler slick 这
  • 如何将函数传递给 JavaScript Web Worker

    我想通过一个 或多个 函数传递postMessage 给网络工作者 因为我无法引用常规文件 为了启动 Web Worker 我将一个对象 URL 从 Blob 创建 传递给Worker构造函数 然后我传递一条消息 但到目前为止还没有在消息中
  • 更改时触发跨度文本/html

    jQuery 或 JavaScript 中是否有任何事件在以下情况下触发span标签 text html 已更改 Code span class user location span user location change functio
  • JavaScript:预期的赋值或函数调用,却看到了一个表达式

    我正在使用 JSHint 来确保我的 JavaScript 是 严格的 但我收到以下错误 预期是赋值或函数调用 但看到的是表达式 关于以下代码 var str A B C D var data var strArr str split fo
  • 无法在渲染器进程中使用 Node.js API

    无法在 Electron 中使用任何与 Electron 或节点相关的操作 未定义获取错误过程 我检查了他们指导添加节点支持的各个地方 但这已经完成了 所以卡在这里 我的主要应用程序代码是 const electron require el
  • 由于固定导航,增加了 FancyBox v2 的顶部和底部边距

    我目前正在开发一个网站 该网站将来将具有响应能力 该网站主要由图像组成 单击这些图像会加载到 FancyBox 中 FancyBox v2 现在具有响应能力 因此可以在屏幕尺寸发生变化时重新调整图像等的大小 作为我设计的一部分 我有两个固定
  • HTML 和 JavaScript - 将滚动操作从一个元素传递到另一个元素

    假设我有两个 div div div div A scrollable list div 我想让它当光标停在里面时 control并且鼠标滚轮滚动 view将会滚动 无论如何要实现这一目标 好的 快速修复对我有用 即使固定 div 不可滚动
  • JavaScript 访问密码字段值是否被视为存在安全风险?

    如果安全 正确地存储密码是良好的风格和安全性 那么对于要求用户输入密码的网页来说不应该也是如此吗 考虑这个例子
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • 如何在 JavaScript 中对关联数组进行排序?

    我需要为我的一个项目通过 JS 对关联数组进行排序 我发现这个函数在 Firefox 中运行得很好 但不幸的是它在 IE8 OPERA CHROME 中不起作用 无法找到使其在其他浏览器中运行的方法 或者找到另一个适合该目的的函数 我真的很
  • 如何修复nodejs Express服务器中的“MulterError:意外字段”?

    我正在设置一个服务器来从客户端上传 zip 文件 服务器运行express和multer来执行此操作 上传文件时 服务器抛出 MulterError 意外字段 错误 我无法弄清楚是什么导致了它 我尝试过使用 png 图像 效果很好 但对于
  • openssl_pkey_get_details($res) 不返回公共指数

    我在用着这个例子 https stackoverflow com a 12575951 2016196使用 php 生成的密钥进行 javascript 加密openssl图书馆 但是 details openssl pkey get de
  • NodeJS:如何获取服务器的端口?

    您经常会看到 Node 的示例 hello world 代码 它创建一个 Http Server 开始侦听端口 然后执行以下操作 console log Server is listening on port 8000 但理想情况下你会想要

随机推荐

  • signature=8dfeb54e036883a518e97630c0013eed,unit3.lfm · BLumia/BLumiaTimidityShell - Gitee.com

    object Form3 TForm3 Left 357 Height 211 Top 100 Width 578 BorderStyle bsDialog Caption About ClientHeight 211 ClientWidt
  • RelativeLayout相对布局

    相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置 这是实际布局中最常用的布局方式之一 它灵活性大很多 当然属性也多 操RelativeLayout相对布局 相对布局 RelativeLayout 允许
  • 「软件测试」最全面试问题和回答,全文背熟不拿下offer算我输

    一般要应聘关于测试的工作 面试题会不会很难 下面小编整理了软件测试面试题及答案 欢迎参考 一 引言 1 1 文档目的 本次文档是为了收集在面试中遇到的一问题与常见的一些答案并不是唯一答案 二 职业规划 2 1 简单的自我介绍下 面试宫 您好
  • 对注意力机制(Attention)的一些理解附上Bi-LSTM和seq2seq加上注意力机制的代码

    注意力机制 简单来说就是让模型能够学会具体问题具体分析吧 比如问你是个水果大师 别人问你这个苹果怎么样 那总得盯着苹果端详吧 而不是去看那个西瓜 理解的应该差不太多吧 这个是从b站看的一个手推注意力机制的视频 照着画了一遍 感觉大概也是明白
  • Java可视化界面设计(登录界面设计)

    1 界面居中显示 frame setResizable false fame setLocationRelativeTo null frame setVisible true 2 全屏操作 Dimension screenSize Tool
  • 联想微型计算机C470拆装,联想C470一体机一键U盘重装系统教程图解

    联想C470一体机造型小巧 外观唯美时尚 易于摆放并能脱离冗杂线缆的束缚 该机是一款非常时尚的家用一体电脑 采用21 5英寸触控屏幕 全高清显示相当精细 无论是学习办公 还是家庭娱乐都能够满足用户的需求 下面给大家介绍联想C470一体机一键
  • 数的分解

    题目描述 本题为填空题 只需要算出结果后 在代码中使用输出语句将所填结果输出即可 把 20192019 分解成 33 个各不相同的正整数之和 并且要求每个正整数都不包含数字 22 和 44 一共有多少种不同的分解方法 注意交换 33 个整数
  • 七牛产品概览

    七牛云产品概览 服务对象 个人开发者 创业团队 企业用户 对象存储 Kodo 简介 七牛云提供的数据存储服务主要是针对静态资源文件 image js css 音频 视频 文档 PDF txt json xml yml apk 等等 提供存储
  • Java中string的null和“”对比

    Java中字符串的比对用string equals object 来做 但与空字符串比对的时候要注意 如果是 话 用string equals 如果是null的时候 string equals null 会报错 应该使用string nul
  • SYSAUX表空间清理之WRH$_ACTIVE_SESSION_HISTORY

    查看sysaux表空间使用率高 对于sysaux表空间之前有文章讨论过 本次直入正题 1 检查sysaux表空间占用空间较大的segments SQL gt select from select owner segment name seg
  • mysql while bug_案例分享:MySQL BUG处理

    近一个月处理历史数据问题时 居然连续遇到了2个MySQL BUG 分享给大家一下 也欢迎指正是否有问题 BUG1 数据库版本 MySQL5 7 25 28 操作系统 Centos 7 7 不重要 数据库架构 主 从 级联从 数据库参数 in
  • Java 冒泡排序示例

    以下是 Java 语言实现冒泡排序的示例代码 public class BubbleSort public static void main String args int arr 5 2 8 3 9 1 bubbleSort arr Sy
  • 64、3D Neural Scene Representations for Visuomotor Control

    简介 主页 https 3d representation learning github io nerf dy 机器人操作模型学习的核心问题之一是如何确定 dynamics model 的状态表示 理想的表示应该易于捕捉环境动态 展示对场
  • CDN是做什么用的,怎么一直有人在推荐使用?

    CDN 内容分发网络 的作用与不断的推荐使用背后有着深刻的原因 这是因为CDN在互联网领域发挥着重要且多方面的作用 为许多网站和在线业务提供了显著的优势 首先 让我们来了解CDN的作用是什么 CDN是一种网络架构 旨在将网站的静态资源 如图
  • 100级小号搬砖地图_DNF100版本搬砖地图最高收益攻略(利润化透明)

    DNF搬砖那个地图收益最高 100版本搬砖攻略 大家都知道DNF是一款经典的手游 到现在已经运营十年了 同时也是一款氪金的 当然对于神豪来说都是小问题 但是对于一般的玩家 想玩DNF建议还是先去医院检查一下肝 肝不好建议别入坑 今天小编就给
  • 数学的科普文

    20210105 这次又是整理自己的书签 然后发现了这个文章 这个文章应该是很久之前的时候我看到的 觉得很有趣 应该是当时学习最小二乘法的时候看到的 所以这篇文章就来记录一些平时看到的不错的科普文 以前很多文章都错过了 挺可惜的 正态分布的
  • React Hook的useCallback,memo,usememo的使用

    1 useCallback 每当组件重新渲染的时候 我们之前定义的函数就会被重新声明一次 即使这个函数不需要做出改变 这时可以使用useCallback useCallback主要用于缓存一个函数 useCallback接收两个参数 第一个
  • Apriori算法完整代码

    文章目录 apriori py apriori py usr bin env python coding utf 8 from numpy import 加载数据集 def loadDataSet return 1 3 4 2 3 5 1
  • 深度学习与计算机视觉系列(5)_反向传播与它的直观理解

    作者 寒小阳 龙心尘 时间 2015年12月 出处 http blog csdn net han xiaoyang article details 50321873 声明 版权所有 转载请联系作者并注明出处 1 引言 其实一开始要讲这部分内
  • javaScript:宏任务与微任务的运行顺序

    在写代码的时候 我使用Element组件中的表单重置方法 和vue中子传父方法 这里我想要通过 async 和 await 的特点 await 下一行代码作为微任务执行 来规定代码的执行顺序 让重置方法 滞后 于数据传递 执行 确定按钮 子