在CoroutineWorker
的文档中,我找到了doWork
方法的摘要:
override suspend fun doWork(): Result = coroutineScope {
...
}
coroutineScope {
是否必要?如果我不使用它,然后取消一个协程,会发生什么? CoroutineWorker
仍然可以工作吗?
我正在使用WorkManager,并且已经实现了CoroutineWorker
,而没有创建新的作用域。有时,我发现定期运行一段时间后,该作业停止运行。
那可能是原因吗?我可以try
,但是即使它可以工作,我还是想确保我知道它为什么工作,以及文档为什么使用该代码段。