// 这里其实应该加锁 internal static async Task InitWFResource() { WFChineseApi = new WFChineseAPI(); ThreadPool.SetMinThreads(64, 64); await Task.WhenAll( Task.Run(SetWFCDResources), Task.Run(SetWFContentApi), Task.Run(() => { WFAApi = new WFAApi(); }), Task.Run(async() => { WFTranslateData = await GetTranslateApi(); }), Task.Run(SlangManager.UpdateOnline) ); WFTranslator = new WFTranslator(); if (ResourceLoadFailed) { throw new Exception("WFBot 资源初始化失败, 请查看上面的 log."); } /* * catch (Exception e) * { * Messenger.SendDebugInfo($"初始化出现问题, WFBot 无法运行: {e}"); * try * { * Directory.Delete("WFCaches", true); * } * catch (Exception) * { * } * MessageBox.Show($"初始化出现问题, WFBot 无法运行, 已经删除文件缓存, 请再试一次, 还是不行请检查 WFBotLogs: {e}", "WFBot", MessageBoxButton.OK, MessageBoxImage.Error); * } */ }
// todo 这里需要改 private static async Task UpdateTranslateApi() { WFTranslateData = await GetTranslateApi(); WFTranslator = new WFTranslator(); }
// todo 这里需要改 private static void UpdateTranslateApi() { WFTranslateData = GetTranslateApi().Result; WFTranslator = new WFTranslator(); }