2016 - 2024

感恩一路有你

js怎么处理10g的大数据(如何在JavaScript中处理大量数据?)

浏览量:1393 时间:2023-02-14 20:08:45 作者:采采

js怎么处理10g的大数据(如何在JavaScript中处理大量数据?)

如何在JavaScript中处理大量数据?

:这里,让 让我们看看浏览器是如何用JavaScript处理大量数据的。

在上一篇文章中,我们谈到了浏览器 对JavaScript代码执行的限制和基于定时器的伪线程机制。在这里,让我们 让我们看看如何在JavaScript中处理大量数据。

几年前,开发人员不会考虑在服务器之外处理大量数据。现在这个概念变了,很多Ajax程序需要在客户端和服务器端传输大量数据。另外,更新DOM节点的过程从浏览器端来说也是一项耗时的工作。而且当需要对信息进行分析处理时,很可能程序没有响应,浏览器会抛出错误。

把需要处理大量数据的进程分成很多小段,然后通过JavaScript定时器分别执行,可以防止浏览器装死。让 让我们看看如何开始:

函数ProcessArray(数据、处理程序、回调){

Proc:需要处理数据。

handler: ;处理每一条数据的功能。

Callback:回调函数

然后定义一些变量:

var maxtime = 100 var delay = 20 var queue =()

Maxtime表示每个处理进程的最大毫秒数。Delay表示每个块之间的毫秒数。队列是源数据的副本。虽然不是所有场景都需要,但是我们通过传递引用来修改它,所以还是备份一下比较好。

然后您可以使用setTimeout()方法来处理它:

setTimeout(function(){ var end time = new Date()maxtime do { hanler(())} while(queue . length gt 0 ampamp end time gt new Date())

首先计算endtime,也就是程序的最大处理时间。do.while循环用于处理每个小数据块,直到循环完成或超时。

为什么使用do..while循环?JavaScript支持while和do…while循环。不同的是,做什么..while循环至少执行一次。如果使用while循环,那么当开发人员设置一个非常小或很低的endtime值时,将根本不会执行处理。

最后,我们将决定是否需要处理其他数据,如果需要,然后再叫一遍:

if (queue.length gt 0) { setTimeout(,delay) } else { if(callback)callback()} },delay)}

这样,回调函数将在每次数据处理结束时执行。我们可以通过ProcessArray()测试一小组数据:

//处理单个数据项function Process(dataitem){ console . log(dataitem)}//处理完成function Done() { console.log(

数据 处理 JavaScript 程序

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。