首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用并行处理的Reactjs加载时间

使用并行处理的Reactjs加载时间
EN

Stack Overflow用户
提问于 2019-10-29 15:02:35
回答 1查看 319关注 0票数 1

我们正在用ReactJS开发一个解决方案,基于excel计算某些值,并将它们显示在具有行和列的网格单元格中。每个单元格都有一定的公式,该公式可以依赖于其他单元格来计算其值。

代码语言:javascript
运行
AI代码解释
复制
E.g.   Cell A = Cell D + Cell Q, 
       Cell D = Cell P + Cell K

以此类推。

随着单元格数量的增加,网格的加载时间呈指数增长。我正在尝试找到一些方法,可以通过并行运行来减少加载时间。例如:首先,x组单元可以在一个线程上运行,其他x组可以在其他线程上运行,然后我可以将它们绑定在一起。

或者如果有其他方法我可以做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2019-10-29 15:41:58

在浏览器中运行这样的算法会大大限制你的选择。我最初的猜测是在web worker池中运行任务,以避免阻塞主线程,并且不冻结UI。

对于技术实现,我推荐阅读本教程: 2018年的An Introduction to Using Web Workers in React

基本示例:

worker.js

代码语言:javascript
运行
AI代码解释
复制
export default () => {
    self.addEventListener('message', e => {
        if (!e) return;
        let result;
        // Run your algorithm
        postMessage(result);
    })
}

React组件

代码语言:javascript
运行
AI代码解释
复制
import worker from './worker.js';

componentDidMount = () => {
  this.worker = new WebWorker(worker);
};

onClickAction = () => {
        this.worker.postMessage('Perform actions');
        this.worker.addEventListener('message', event => {
            this.setState({
                results: event.data.results
            })
        });
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58610084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文