gpt4 book ai didi

angular - 仅当 dotnet api 在我的 launch.json 文件中初始化后,才可以启动我的 Angular SPA 吗?

转载 作者:行者123 更新时间:2023-12-02 15:47:36 25 4
gpt4 key购买 nike

在 Visual Studio Code 中调试时,是否可以仅在我的 dotnet API 在复合配置语句中初始化后启动我的 Angular SPA?

下面的复合配置同时启动两者(SPA 和 Dotnet),但在某些情况下,并非全部,SPA 在 dotnet API 初始化之前启动并完成初始化,并且 SPA 立即调用 API 中的数据库主页。因此,在 SPA 已完成初始化但 API 尚未完成初始化的情况下,我会看到如下错误。所以我必须刷新浏览器一两次,直到 dotnet API 首先完成初始化。

调试时两个项目的初始化以及哪个先完成似乎完全是随机的?

Failed to load resource: net::ERR_CONNECTION_REFUSED [http://localhost:5001/api/matter/options]

这是我的复合配置:

"compounds": [{
"name": "Server/Client",
"configurations": ["Dotnet", "Chrome"]
}],
"configurations": [{
"name": "Chrome",
"type": "chrome",
"request": "launch",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}/Auto2-SPA"
}, {
"name": "Dotnet",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/Auto2.API/bin/Debug/netcoreapp2.2/Auto2.API.dll",
"args": [],
"cwd": "${workspaceFolder}/Auto2.API",
"stopAtEntry": false,
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser

"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"sourceFileMap": {
"/Views": "${workspaceFolder}/Views"
}
}]

最佳答案

您可以使用APP_INITIALIZER,该函数在应用程序启动后立即调用,并且在应用程序完成之前不会初始化应用程序。

例如,您可以 ping 您的 API 并查看它们是否准备就绪,如果没有,请重复 ping N 次,直到超时。

我做了一个 stackblitz 来或多或少地向你解释它是如何工作的,即使它有很多多余的东西。由于我必须模拟 ping API,因此我必须在调用中插入不同的超时,以使它们看起来至少真实。

https://stackblitz.com/edit/angular-rnuwn9

我希望我明白你需要什么

关于angular - 仅当 dotnet api 在我的 launch.json 文件中初始化后,才可以启动我的 Angular SPA 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59205855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com