长协程体的成语(轻型设计模式)?
Idioms (light design patterns) for coroutine bodies that are long?
有时协程主体(传递给 launch
或 async
等协程构建器的块)往往会变得笨重。它们是协同程序的 "entry point"(类似于带有 Thread
的 Runnable
)并且可以像 main()
函数一样增长。协程体提供者有哪些习语?例如,可以使用 class 来确定协程主体提供程序的范围吗?或者,拥有 return 协程体的独立高阶函数可能更可取?换句话说,当协程主体在范围内增长时,是否有任何 Builder
模式?
协程构建器只是进入协程领域的一个入口点。在该域内,您可以自由调用任何 suspend fun
,就好像它们是阻塞函数一样。因此,使用的模式是自 FORTRAN 发明以来所有结构化编程的主要模式:函数调用。
简而言之,这就是协程的美妙之处:它们的非阻塞 "magic" 在您照常编码时在后台发生。
有时协程主体(传递给 launch
或 async
等协程构建器的块)往往会变得笨重。它们是协同程序的 "entry point"(类似于带有 Thread
的 Runnable
)并且可以像 main()
函数一样增长。协程体提供者有哪些习语?例如,可以使用 class 来确定协程主体提供程序的范围吗?或者,拥有 return 协程体的独立高阶函数可能更可取?换句话说,当协程主体在范围内增长时,是否有任何 Builder
模式?
协程构建器只是进入协程领域的一个入口点。在该域内,您可以自由调用任何 suspend fun
,就好像它们是阻塞函数一样。因此,使用的模式是自 FORTRAN 发明以来所有结构化编程的主要模式:函数调用。
简而言之,这就是协程的美妙之处:它们的非阻塞 "magic" 在您照常编码时在后台发生。