【发布时间】:2017-06-03 05:44:51
【问题描述】:
当你有嵌套的协程,比如
void Update()
{
if(someTest)
{
StartCoroutine(Foo());
}
}
IEnumerator Foo()
{
doStuff = true;
yield return StartCoroutine(Bar());
doStuff = false;
}
IEnumerator Bar()
{
//Very important things!
}
yield return StartCoroutine(Bar()); 中的StartCoroutine 是否必要?
我们可以这样做吗
void Update()
{
if(someTest)
{
StartCoroutine(Foo());
}
}
IEnumerator Foo()
{
doStuff = true;
yield return Bar();
doStuff = false;
}
IEnumerator Bar()
{
//Very important things!
}
如果我们被允许,这会对程序的行为/性能产生任何影响吗?
【问题讨论】:
-
根据这个问题的最新答案(以及一些简短的测试),它们的结果相同:answers.unity3d.com/questions/724244/…
-
如果您想引用 andymilsom 的答案并在此处发布,我会接受。
-
它们与答案所说的不同。我会给出一个答案来解决这些差异。