Merge pull request #446 from EstrellaXD/fix/webui-search-bangumi-api

fix: 搜索接口后端关闭连接时会触发 error 事件,前端需要手动调用 close 不再自动重连
This commit is contained in:
Estrella Pan
2023-09-08 13:36:44 +08:00
committed by GitHub
2 changed files with 9 additions and 7 deletions

View File

@@ -27,6 +27,8 @@ export const apiSearch = {
eventSource.onerror = ev => {
console.error('[/search/bangumi] Server Error |', { keyword }, 'error:', ev)
// 目前后端搜索完成关闭连接时会触发 error 事件,前端手动调用 close 不再自动重连
eventSource.close();
};
return () => {

View File

@@ -1,8 +1,8 @@
import {ref} from 'vue';
import {
EMPTY,
Subject,
debounceTime,
filter,
switchMap,
tap,
} from "rxjs";
@@ -39,18 +39,18 @@ export function useSearchStore() {
const bangumiInfo$ = input$.pipe(
debounceTime(600),
tap(() => {
// switchMap 把输入 keyword 查询为 bangumiInfo$ 流,多次输入自动取消并停止前一次查询
switchMap((input: string) => {
// 有输入更新后清理之前的搜索结果
bangumiList.value = [];
return input
? apiSearch.get(input, provider.value)
: EMPTY
}),
filter(Boolean),
// switchMap 把输入 keyword 查询为 bangumiInfo$ 流,多次输入自动取消并停止前一次查询
switchMap((input: string) => apiSearch.get(input, provider.value)),
tap((bangumi: BangumiRule) => {
bangumiList.value.push(bangumi);
}),
)
.subscribe()
).subscribe()
function onSearch() {
input$.next(inputValue.value);