unitask

示例

UniTask.Void(Push);

private async UniTaskVoid Push() {  
    await UniTask.SwitchToThreadPool();  

    Process.Start(gitPath, $"-C {projectPath} push")?.WaitForExit();  
  
    Debug.Log("Push success");  
}

await

  • 不能 await 返回 async UniTaskVoid 的方法

  • 要 await 返回 async UniTask 的方法

从主线程调用子线程

// Fire and Forget 不管异步返回值

  • Unitask.Void( 返回 UniTaskVoid)

  • UniTask.Void(async () => Push().Forget());

  • UniTask.Void(async () => await Push());

  • Push().Forget() // 编译器警告

  • Unitask.Create( 返回 UniTask).Forget

  • Unitask 默认在主线程运行, 要切到子线程

  • await UniTask.SwitchToThreadPool();

其他资料

视频教程

最后更新于