本文整理汇总了TypeScript中common/actions.actions.searchFetched方法的典型用法代码示例。如果您正苦于以下问题:TypeScript actions.searchFetched方法的具体用法?TypeScript actions.searchFetched怎么用?TypeScript actions.searchFetched使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common/actions.actions
的用法示例。
在下文中一共展示了actions.searchFetched方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: async
watcher.on(actions.search, async (store, action) => {
const oldQuery = store.getState().profile.search.query;
const query = action.payload.query.trim();
if (query.length === 0) {
// clear search
store.dispatch(actions.searchFetched({ query: "", results: {} }));
}
if (oldQuery === action.payload.query) {
// already fetched, nevermind
return;
}
store.dispatch(actions.searchStarted({}));
try {
const profileId = store.getState().profile.credentials.me.id;
let results: ISearchResults = {};
let dispatch = () => {
store.dispatch(actions.searchFetched({ query, results }));
};
let promises = [];
promises.push(
call(messages.SearchGames, { profileId, query }, client => {
// TODO: give params directly to request handlers
client.onNotification(messages.SearchGamesYield, ({ params }) => {
let games = filter(params.games, g => isPlatformCompatible(g));
games = sortBy(games, g => getEditDistance(query, g.title));
results = mergeGames(results, games);
dispatch();
});
})
);
promises.push(
call(messages.SearchUsers, { profileId, query }, client => {
client.onNotification(messages.SearchUsersYield, ({ params }) => {
results = mergeUsers(results, params.users);
dispatch();
});
})
);
await Promise.all(promises);
} finally {
store.dispatch(actions.searchFinished({}));
}
});
示例2:
let dispatch = () => {
store.dispatch(actions.searchFetched({ query, results }));
};