当后期处理需要5-10秒时,更改单选按钮的最佳方式

Best way to change radio button when the post processing takes 5-10 seconds

本文关键字:单选按钮 方式 最佳 5-10秒时 处理      更新时间:2023-09-26

我有两个单选按钮。我有关于它们的onclick事件。每当有onclick时,我都会做一些处理。此处理需要一些时间。

由于两个单选按钮上都有onclick事件,因此在处理完成之前,单选按钮不会在视觉上发生变化。

例如:如果我想从单选按钮A更改为B,只有在处理完成后才会更改。

我如何进行后期处理,以便在视觉上更改单选按钮,并在后台运行进行后期处理的javascript函数。

如果您的进程是异步的,请考虑使用dojo/Deferred

dojo/Deferred将返回一个promise,该promise在异步线程完成时得到解析。

使用setTimeOut的解决方案将强制您指定进程的持续时间,因为您的进程迟早会解决问题,在setTimeOut中硬编码一个值。这不是一个好的选择,您可能会让用户等待更长的时间,或者在实际进程完成之前运行代码。

更多信息请点击此处:

http://dojotoolkit.org/reference-guide/1.10/dojo/Deferred.html#dojo-延迟

您可以使用dojo/aaspect,只需使用aspect。点击事件后,即可进行任何处理

使用dojo的发布/订阅模型,您可以直观地更改单选按钮,并在下一行中从进行后期处理的onClick处理程序发布到通道。Dojo的Pub/Sub文档。