gpt4 book ai didi

angular - 如果该文件不存在,我如何指向另一个文件?

转载 作者:搜寻专家 更新时间:2023-10-30 21:27:08 25 4
gpt4 key购买 nike

我正在使用 Angular 6,我正在尝试检查 _appconfig.json 文件是否存在于根目录中。如果该文件不存在,我想将 http.get() 调用指向另一个 URL。不过,我似乎无法让事情按照我想要的方式行事,并且想知道是否有人可以在这里帮助我。

如果所述文件不存在,我该如何更改 URL?

configUrl = "_appconfig.json"; 

constructor(private http: HttpClient) {}

data: any;

getConfig(): Promise<configType> {
return this.http
.get(this.configUrl)
.toPromise()
.then(response => response as configType)
.catch(this.handleError);
}

就其值(value)而言,在文件确实 存在的情况下,它的行为符合预期。

最佳答案

这里可能有一个解决方案可以帮助您。重要的是捕获错误,如果错误恰好是 404 错误,您可以确定文件未找到。

我建议您使用 oberservables 而不是 promises,但它们也应该以类似的方式工作。

这是我尝试加载“test.txt”的示例,如果找不到该文件,我将加载 second.json。

private loadMainFile() {
this.httpClient.get('/asset/test.txt').subscribe(() => {
// HANDLE file found
}, (err) => {
// HANDLE file not found
if (err.status === 404) {
this.loadSecondFile();
}
});
}

private loadSecondFile() {
this.httpClient.get('/asset/second.json').subscribe(() => {
// HANDLE file found
}, () => {
// HANDLE file not found

});
}

关于angular - 如果该文件不存在,我如何指向另一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52673797/

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