请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

littleknife
金牌服务用户   /  发表于:2022-6-8 15:44  /   查看:2710  /  回复:1
50金币
本帖最后由 littleknife 于 2022-6-8 15:45 编辑

image.png890963439.png
公式初始化或引用改变时会触发evaluateAsync函数,通过 context.setAsyncResult()就可以修改自定义公式的值。但这样会有一个问题,当一个sheet页,有上千个自定义公式时,初始化就要发送上千个请求,开销太大。有其他方法可以通过spread修改自定义公式的值吗,类似sheet.setValue()这种?或者通过某些指令获取到当前单元格所使用的自定义公式,然后拿到上下文context,然后再去使用setAsyncResult设置值?

image.png974319457.png

最佳答案

查看完整内容

您好: 上千个不同的请求对应着各个单元格的计算结果,那么首先,这些请求是否能够合并成一个大请求。一次将整体的数据全部从后端拉过来。这样可以避免发送过多请求的问题。 之后,可以这样实现,利用spreadjs异步函数中的refresh方法来定时刷新。然后判断一下后端的对应数据是否过来了,如果过来了用context.setAsyncResult()去更新即可。 类似例子可以参考学习指南异步函数中refresh的使用: https://demo.grapecity.com.cn/ ...

1 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-8 15:44:30
来自 2#
您好:
上千个不同的请求对应着各个单元格的计算结果,那么首先,这些请求是否能够合并成一个大请求。一次将整体的数据全部从后端拉过来。这样可以避免发送过多请求的问题。
之后,可以这样实现,利用spreadjs异步函数中的refresh方法来定时刷新。然后判断一下后端的对应数据是否过来了,如果过来了用context.setAsyncResult()去更新即可。
类似例子可以参考学习指南异步函数中refresh的使用:
https://demo.grapecity.com.cn/sp ... ync-function/purejs
image.png625215148.png
image.png772077636.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部