JS代码运行延迟
还是上篇文章的项目。
现在是屏幕上需要显示九张图表,刚好用一张3X3的表格来显示。但是负责这块内容的同事始终没法让九张图表同时显示,有些图表的位置空了出来。
大家百思不得其解,最后只得求助技术经理。
经理过来了一会,发现问题了。
我们原来的结构是:
erp.init(..A..); //初始化内容是数据来源,还有图标位置
erp.getData(....); //获取数据,通过ajxa跨域访问接楼获得 erp.init(..B..);
erp.getData(....); erp.init(..C..);
erp.getData(....);
JS代码当然时从上到下解释,我们理所当然地认为他们会按照顺序一步步来运行、显示,可事实不是这样。在A图表初始化完成在获取数据时,很可能因为网络等问题,没有及时获得内容,程序就先跑到下一行去执行B图标的初始化;B初始化完成时,A图标的数据恰好获取好了,这时的A图表数据就不会放到A初始化时的位置, 而是放到B图表位置去了,A图表的位置就空了出来;这时B图表数据随即获取到,又放到B的位置,这样A表就被覆盖了。这就相当于是刻舟求剑,造成了上面的问题,让大家困惑许久。
解决方案很简单,就是初始化时不去设置显示的位置,等数据获取到的时候再指定。
JS代码运行延迟的更多相关文章
- 试着讲清楚:js代码运行机制
一. js运行机制 js执行引擎 经常看文章的说到js是带线程的,其实这个说法非常的模糊,准确的是js执行引擎是单线程的,js执行引擎就是js代码的执行器,有了这个概念就可以下来说说js是如何运行的了 ...
- 获取js代码运行的时间
console.time('yue') //代码部分 console.timeEnd('yue')
- 爬虫必备:Python 执行 JS 代码 —— PyExecJS、PyV8、Js2Py
在使用爬虫中,经常会遇到网页请求数据是经过 JS 处理的,特别是模拟登录时可能有加密请求.而目前绝大部分前端 JS 代码都是经过混淆的,可读性极低,想理解代码逻辑需要花费大量时间.这时不要着急使用 S ...
- c#: WebBrowser控件注入js代码的三种方案
聊做备忘. 假设js代码为: string jsCode = @"function showAlert(s) {{ alert('hello, world! ' + s);}}; showA ...
- 爬虫之python3用execjs执行JS代码
JS运行环境 Node.js 是Javascript语言服务器端运行环境 安装和配置:https://www.runoob.com/nodejs/nodejs-install-setup.html 测 ...
- 网页中嵌入可以点击“运行代码”执行html/css/js代码
html代码 <textarea name="textarea" cols="60" rows="10" id="rn01& ...
- 添加可运行的js代码
如何在博客园的文章/随笔中添加可运行的js代码 在博客园浏览大牛们写的文章时,经常会看到在文章中混有一些可运行示例,例如司徒正美的博客中: 带有可运行示例 可以点击“运行代码” 经过一番小小的探索,掌 ...
- NET代码运行在服务器JS运行在客户端
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;usi ...
- 几种自己主动运行js代码的方式
近期在看jquery,发现他竟然能自己主动运行js代码,于是就查了下.收集了几种经常使用的实现方法 jquery的方法 使用场景:不论什么须要运行的js特效 $(document).ready(fun ...
随机推荐
- 存储过程之rowtype 使用
CREATE OR REPLACE PROCEDURE "DYLYLQX_SC_BA_1" (YWID IN VARCHAR2, FLAG OUT VARCHAR2) IS V_R ...
- HDU 6170 Two strings (dp)
/** * 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6170 * 字符串match, '.'代表匹配任意一个字符,"*" 代表 ...
- 《java编程思想》读后笔记:一,标签
标签 是后面跟有冒号的标识符,格式如下: label : java中通过break与continue关键词可以完成类似于跳转的操作,其实现机制便是标签. 虽然很少有人使用,但是其有自身的适用场景:多层 ...
- NFS安装
安装应用 yum install -y nfs-utils rpcbind 服务器端: 1.启动服务 service nfs start service rpcbind start 2. 编辑 ...
- bzoj 2067 [Poi2004]SZN——二分+贪心
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2067 最少的线段可以贪心地想出来.(结果还是写错了)就是偶数孩子可以自己配对,奇数孩子要带一 ...
- 【旧文章搬运】VC插件中如何获取当前工程的工作目录
原文发表于百度空间,2014-09-24========================================================================== 好难找的资 ...
- Python的subprocess子进程和管道进行交互
在很久以前,我写了一个系列,Python和C和C++的交互,如下 http://blog.csdn.net/marising/archive/2008/08/28/2845339.aspx 目的是解决 ...
- python UnicodeEncodeError: 'ascii' codec can't encode characters 解决办法
程序直接运行没有问题,一旦用nohup python test.py 执行遇中文就报python UnicodeEncodeError错误: 最终测试出的解决方法为,在开头添加红色的三句: #!/us ...
- [cf797c]Minimal string(贪心+模拟)
题意: 给出了字符串s的内容,字符串t,u初始默认为空,允许做两种操作: 1.把s字符串第一个字符转移到t字符串最后 2.把t字符串最后一个字符转移到u字符串最后 最后要求s.t字符串都为空,问u字符 ...
- Eclipse简介和使用
常用快捷键 快捷键的配置,常用快捷键: 内容提示: Alt + / 例如: System.out.println(); 语句 ,syso再按住alt 和/ 就会补全. 忘记某个类如何书写,可以写出一部 ...