當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript actions.searchFetched方法代碼示例

本文整理匯總了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({}));
    }
  });
開發者ID:HorrerGames,項目名稱:itch,代碼行數:52,代碼來源:index.ts

示例2:

 let dispatch = () => {
   store.dispatch(actions.searchFetched({ query, results }));
 };
開發者ID:HorrerGames,項目名稱:itch,代碼行數:3,代碼來源:index.ts


注:本文中的common/actions.actions.searchFetched方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。