【发布时间】:2021-04-26 07:29:14
【问题描述】:
尝试使用 API 数据进行 Typeahead 搜索功能,如果我们提供有效数据,自动提示将正确出现,如果我们提供无效数据,则会给出错误消息,但如果我们再次输入有效数据,则 API 不会触发。所以我尝试修复并尝试下面的代码并帮助我如何处理无效数据的错误场景。
asyncData: string;
dataSource: Observable<any>;
this.dataSource = new Observable((observer) => {
observer.next(this.asyncData)
}).mergeMap(() => {
return this.http.get('/api/testAPI',{params: {param1: param1}});
});
【问题讨论】:
-
"如果我们提供无效数据,它会给出错误消息“你怎么知道它无效
-
我在文本框上显示无效数据的错误消息,如果无效数据 API 提供此数据 "{"timestamp":"2020-04-22T07:22:35.004+0000","errorMessage": "未找到结果","errorCode":404,"errorDetails":"uri=/API/testAPI"}"
-
this.http 如何返回 this.http.get('/api/testAPI',{params: {param1: param1}});工作正常吗? this.http 是什么返回 this.http ?这里有问题
-
如果我输入一些有效数据,它会给出预先输入的列表,如果我们给出像任何字符这样的无效数据,特殊字符会给出上面的错误消息,并且我会在文本框中显示无数据。我再次尝试提供有效数据,这次没有触发 API。
-
你应该试着用这个做一个 stackblitz 例子,因为你的代码看起来根本不应该工作,尝试使用stackblitz.com/edit/rxjs-searchbox-example这个例子
标签: angular typescript rxjs