doo*_*ood 6 javascript concurrency asynchronous elm
我有一个计算成本很高的代码,我需要在我的'update'函数中运行.
当它运行时,我的整个应用程序都会阻塞,直到它完成.
有没有办法以异步方式运行此代码以防止阻塞?(虽然不使用端口并留在榆树)
您可以尝试将其作为任务运行。可以抢先停止任务以执行应用程序的其他部分,尽管我不确定在某些使用全部 CPU 容量的情况下它们将如何工作:
DoHeavyStuff a b ->
let
task param1 param2 =
Task.succeed 1
`Task.andThen` (\_ -> Task.succeed <| expensive param1 param2)
in
(model, Task.perform NoOp FinishedWork (task a b))
FinishedWork result ->
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
350 次 |
最近记录: |