首页 > 其他分享 >hashchang事件是异步更新的

hashchang事件是异步更新的

时间:2024-04-15 10:27:01浏览次数:23  
标签:异步 console log 触发 window 更新 hashchange 事件 hashchang

1.代码

  // 此时会触发hashchange
  location.hash = '/test'
    window.addEventListener('hashchange', () => {
      console.log('hashchenge')
    })

    // 此时不会触发hashchange
    location.hash = '/test'
    setTimeOut(() => {
      window.addEventListener('hashchange', () => {
        console.log('hashchenge')
      })
    },0)

2.测试与结论

  • 测试: 进入一个未绑定hahschange事件的网页,在控制台输入以上代码
  • 结论: 如果hahschange是同步的,则不应该触发hashchange事件,但是触发了,证明hashchange事件类似于React的setState,都是在下一个循环执行

标签:异步,console,log,触发,window,更新,hashchange,事件,hashchang
From: https://www.cnblogs.com/coderzdz/p/18135270

相关文章

  • 异步函数
    0.为什么使用异步因为js本身是单线程,如果所有的任务都是同步的,那么一些非常耗时的任务就会严重影响到用户体验1.回调函数constfs=require('fs');functionread(fileName){fs.readFile(fileName,'utf-8',(err,data)=>{if(err){console.log('err'......
  • [题解](A-G)Atcoder Educational DP Contest(更新中)
    AtcoderEducationalDPContest\(\textbf{A.Frog1}\)对于一块石头\(i(3\lei\leN)\),\(i-1\)和\(i-2\)均能到达。用\(f[i]\)表示跳到第\(i\)个石头用的最小体力消耗:\[f[i]=min(abs(h[i]-h[i-1])+f[i-1],abs(h[i]-h[i-2])+f[i-2])\qquadi\ge3\]时间复杂度\(O(n)\)。......
  • JMeter——异步请求性能测试
    前段时间任务要求要对一种异步请求做性能测试,异步请求步骤如下:step1:发一个数据计算的请求,response里面返回一个jobIdstep2:带上这个jobId,就可以实时查看这个请求返回的jobStatus,如果jobStatus==0,则成功返回计算结果;如果jobStatus==2,则代表jobinprogress;如果jobStatus==......
  • 【VMware vCenter】使用Reduced Downtime Update (RDU)升级更新vCenter Server。
    ReducedDowntimeUpgrade(RDU)减少停机时间更新是用于vCenterServer更新升级的一种新的方式,顾名思义,主要目的就是为了减少在vCenterServer更新升级过程中的维护时间,经过测试验证,最快能够在几分钟之内完成对vCenterServer的更新升级(取决于环境)。我之前在另外一篇文章中(更新V......
  • IO模型和常见的异步IO应用场景
    常见的IO模型1.同步就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。等前一件做完了才能做下一件事情。就是我调用一个功能,该功能没有结束前,我死等结果。2.异步当一个异步过程调用发出后,调用者不能立刻得到结果。实际上处理这个调用的部件在完成之后,通过状态,通知......
  • Godot UI线程,Task异步和消息弹窗通知
    目录前言线程安全全局消息IOC注入消息窗口搭建最简单的消息提示简单使用仿ElementUIElementUI效果简单的Label样式如何快速加载多个相同节点修改一下,IOC按钮事件注册总结前言最近我在研究Godot的全局消息,然后发现Godot也是有UI线程限制的,只能在主线程的子线程里面修改UI。线......
  • C#/.NET/.NET Core拾遗补漏合集(24年4月更新)
     前言在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NETCore拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。GitHub开源地址https://github.com/Y......
  • Window10家庭版自动更新关闭方法
    win10的自动更新怎样关闭?分享给你三种方法! win10的自动更新怎样关闭?Win10系统总是自动更新,但是每次更新都会遇到各种问题,例如电脑总是自动重启、升级补丁占用系统盘空间、升级补丁冲突导致蓝屏、升级补丁异常导致打印机无法工作等等,那么你知道有哪些关闭win10自动更新的方法......
  • 前端纯原生js数据监控,更新视图
    还没完善好,先记录一部分 binding.js//定义Model类,用于存储数据和监听数据变化functionModel(value=""){this._value=value;//存储数据的值this._listeners=[];//存储监听数据变化的函数}//定义Model类的set方法,用于设置数据的值Model.prototype.set......
  • 限制异步HTTP请求并发:简单、有效的20个并发下载控制策略
     概述:通过使用`SemaphoreSlim`,可以简单而有效地限制异步HTTP请求的并发量,确保在任何给定时间内不超过20个网页同时下载。`ParallelOptions`不适用于异步操作,但可考虑使用`Parallel.ForEach`,尽管在异步场景中谨慎使用。对于并发异步I/O操作的数量限制,可以使用SemaphoreSlim,......