Open AskrYggdrasillsCR opened 1 year ago
public class TestPatch : MonoBehaviour { private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { CallOneAsync("hello"); } } [Patch] public async void CallOneAsync(string name) { Debug.Log(name); await Task.Delay(1000); Debug.Log("TestTask"); } }
这样子写是不会等待一秒之后执行Debug.Log("TestTask"); 但是像下面这样操作的话就可以正常执行
public class TestPatch : MonoBehaviour { private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { CallOneAsync("hello"); } } [Patch] public async void CallOneAsync(string name) { Debug.Log(name); await TestTask(); } private async Task TestTask() { await Task.Delay(1000); Debug.Log("TestTask"); } }
我遇到了同样得问题,一旦遇到await,代码执行顺序就会错乱
这样子写是不会等待一秒之后执行Debug.Log("TestTask"); 但是像下面这样操作的话就可以正常执行