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在协程内部停止协程自身后代码执行问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在协程中发出 GET 请求?

在协程内触发时双向数据绑定不起作用

嵌套协程生成的代码是啥

Unity的坑

如何在协程中发出GET请求?

Kotlin 协程协程异常处理 ① ( 根协程异常处理 | 自动传播异常 | 在协程体捕获异常 | 向用户暴露异常 | 在 await 处捕获异常 | 非根协程异常处理 | 异常传播特性 )