找回密码
 立即注册

QQ登录

只需一步,快速开始

nutstore
金牌服务用户   /  发表于:2022-7-4 15:16  /   查看:1284  /  回复:3
1金币
在异步函数中同步赋值一个动态数组的值就会导致这个问题出现,并且下面的单元被填充了value
一般不会这么用,但是有几次数据同步进来的导致了我们的文件被污染了,希望可以解决一下
react-sample.zip (751.96 KB, 下载次数: 49)

最佳答案

查看完整内容

测试已复现,原因如下: 异步函数设设计思想上是为了解决异步计算的问题,所以在异步函数中不能执行同步操作,会造成内部计算逻辑错误。 (附件为异步函数内部执行逻辑介绍,您可以了解下) 您可以使用setTimeout函数或其他方式,使执行异步操作,示例如下图: 或者考虑下从业务入手,不使用异步函数,如使用自定义函数。

3 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-7-4 15:16:23
来自 4#
本帖最后由 Lynn.Dou 于 2022-7-5 10:11 编辑

测试已复现,原因如下:
异步函数设设计思想上是为了解决异步计算的问题,所以在异步函数中不能执行同步操作,会造成内部计算逻辑错误。
(附件为异步函数内部执行逻辑介绍,您可以了解下)
您可以使用setTimeout函数或其他方式,使执行异步操作,示例如下图:
image.png912958068.png
或者考虑下从业务入手,不使用异步函数,如使用自定义函数。

异步函数内部计算逻辑.txt

1.54 KB, 下载次数: 44

回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-7-4 18:26:24
2#
您好,
运行您提供的demo,显示如下图:
image.png775642699.png
查看代码发现您创建了名为TEST_CUSTOM的异步函数,但未看到执行该异步函数的代码。
所以,结合您对于该问题的描述,请问如何复现“自定义异步函数中同步赋值报#SPILL错误”的问题呢?
请在demo中补充完整代码,并详细描述复现步骤,这边再实际测试调研下原因。
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2022-7-4 19:06:57
3#
Lynn.Dou 发表于 2022-7-4 18:26
您好,
运行您提供的demo,显示如下图:

直接在任意单元格使用 =TEST_CUSTOM() 即可复现
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部