int completedNumber = -1;
IEnumerator RecursionFunc(int currentNumber)
{
if (currentNumber == 0)
{
Debug.Log("已经完成啦!");
yield break;
}
else
{
StartCoroutine(IELoadSomethging(currentNumber));
do
{
yield return new WaitForEndOfFrame();
}
while (completedNumber != currentNumber);
Debug.Log("已完成第:————————————————————" + currentNumber);
StartCoroutine(RecursionFunc(currentNumber - 1));
}
}
IEnumerator IELoadSomethging(int currentNumber)
{
yield return new WaitForSeconds(1);
Debug.Log("正在异步加载第:——" + currentNumber.ToString());
completedNumber = currentNumber;
}
这样调用
void Update()
{
if (Input.GetMouseButtonDown(0))
{
completedNumber = 9;
StartCoroutine(RecursionFunc(completedNumber));
}
}