Unity在协程内部停止协程自身后代码执行问题
Posted AaronBlog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity在协程内部停止协程自身后代码执行问题相关的知识,希望对你有一定的参考价值。
当在协程内部停止自身后,后面的代码块还会继续执行,直到遇到yield语句才会终止。
经测试:停止协程,意味着就是停止yield,所以在停止协程后,yield之后的语句也就不会执行了。
代码如下:
1 using UnityEngine; 2 using System.Collections; 3 4 public class Test : MonoBehaviour { 5 6 void Start () { 7 StartCoroutine("Method"); 8 } 9 10 IEnumerator Method() { 11 StopCoroutine("Method"); 12 Debug.Log("协程停止"); 13 yield return 0; 14 Debug.Log("协程yield之后的代码"); 15 } 16 }
执行结果如下:
以上是关于Unity在协程内部停止协程自身后代码执行问题的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin 协程协程异常处理 ① ( 根协程异常处理 | 自动传播异常 | 在协程体捕获异常 | 向用户暴露异常 | 在 await 处捕获异常 | 非根协程异常处理 | 异常传播特性 )