我想知道,既然withContext和suspendCoroutine都是暂停函数,那么它们之间是否有任何区别,那就是suspendCoroutine提供了一个延续,因此如果我们使用suspendCancellableCoroutine,则可以控制它何时恢复或取消。变异。 我想说两者都可以用来停止进行回调(这是协程的优点之一)。有什么主要区别吗?
答案 0 :(得分:4)
实际上只有<div class="container h100">
<div class="row align-items-center h100">
<div class="col-sm-2 align-self-center order-1" id="backbutton">
<button>Back</button>
</div>
<div class="col-md-8 align-self-center align-self-stretch" id="main">
<p>Main content</p>
</div>
<div class="col-sm-2 align-self-center order-1" id="backbutton">
<button>Next</button>
</div>
</div>
</div>
可以用于将基于回调的API转换为协程。 suspendCoroutine
不具有暂停协程的作用,而是暂时更改其上下文(这主要是关于更改调度程序)。协程立即在其他上下文中继续,然后返回到调用者的上下文。