我想知道既然withContext和suspendCoroutine都是挂起函数,除了suspendCoroutine提供延续的事实之外,它们之间还有什么不同,所以如果我们使用suspendCancellableCoroutine变体,你可以控制它何时恢复或取消。我想说两者都可以用来停止回调(这是协程的一个优点)。有什么主要区别吗?
发布于 2020-07-25 17:05:15
实际上,只有suspendCoroutine可以用于将基于回调的API转换为协程。withContext不具有暂停协程的效果,而是临时更改其上下文(这主要是关于更改调度程序)。协程立即在另一个上下文中继续,然后返回到调用者的上下文。
https://stackoverflow.com/questions/63084308
复制相似问题