当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript actions.newItemsImported方法代码示例

本文整理汇总了TypeScript中common/actions.actions.newItemsImported方法的典型用法代码示例。如果您正苦于以下问题:TypeScript actions.newItemsImported方法的具体用法?TypeScript actions.newItemsImported怎么用?TypeScript actions.newItemsImported使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在common/actions.actions的用法示例。


在下文中一共展示了actions.newItemsImported方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: async

 watcher.on(actions.silentlyScanInstallLocations, async (store, action) => {
   try {
     logger.info(`Scanning install locations for items...`);
     await mcall(
       messages.InstallLocationsScan,
       {
         legacyMarketPath: legacyMarketPath(),
       },
       convo => {
         hookLogging(convo, logger);
         convo.on(messages.Progress, async ({ progress }) => {
           store.dispatch(actions.locationScanProgress({ progress }));
         });
         convo.on(messages.InstallLocationsScanYield, async ({ game }) => {
           logger.info(`Found ${game.title} - ${game.url}`);
         });
         convo.on(
           messages.InstallLocationsScanConfirmImport,
           async ({ numItems }) => {
             logger.info(`In total, found ${numItems} items.`);
             return { confirm: true };
           }
         );
       }
     );
     logger.info(`Scan complete.`);
     store.dispatch(actions.newItemsImported({}));
   } finally {
     store.dispatch(actions.locationScanDone({}));
   }
 });
开发者ID:itchio,项目名称:itch,代码行数:31,代码来源:silent-location-scan.ts

示例2: async

  watcher.on(actions.scanInstallLocations, async (store, action) => {
    let names: string[] = [];
    let widgetParams: IScanInstallLocationsParams = {
      progress: 0.00001,
      game: null,
    };

    const openModal = actions.openModal(
      modalWidgets.scanInstallLocations.make({
        window: "root",
        title: ["preferences.scan_install_locations.title"],
        message: "",
        buttons: [
          {
            label: ["prompt.action.close"],
            className: "secondary",
          },
        ],
        widgetParams,
        unclosable: true,
      })
    );
    store.dispatch(openModal);
    const modalId = openModal.payload.id;

    const update = () => {
      store.dispatch(
        actions.updateModalWidgetParams(
          modalWidgets.scanInstallLocations.update({
            id: modalId,
            widgetParams,
          })
        )
      );
    };

    try {
      const importRes = await call(
        messages.InstallLocationsScan,
        {},
        client => {
          client.onNotification(messages.Progress, async ({ params }) => {
            // TODO: relay ETA too?
            widgetParams.progress = params.progress;
            update();
          });

          client.onNotification(
            messages.InstallLocationsScanYield,
            async ({ params }) => {
              names.push(params.game.title);
              widgetParams.game = params.game;
              update();
            }
          );

          client.onRequest(
            messages.InstallLocationsScanConfirmImport,
            async ({ params }) => {
              const res = await promisedModal(
                store,
                modalWidgets.naked.make({
                  window: "root",
                  title: ["preferences.scan_install_locations.confirm_import"],
                  message: ["preferences.scan_install_locations.message"],
                  detail: names.map(n => `  * ${n}`).join("\n") + "\n",
                  widgetParams: null,
                  buttons: [
                    {
                      label: [
                        "preferences.scan_install_locations.import_items",
                        { numItems: params.numItems },
                      ],
                      icon: "install",
                      action: actions.modalResponse({}),
                    },
                    "cancel",
                  ],
                })
              );
              return { confirm: !!res };
            }
          );
        }
      );

      if (importRes.numFoundItems == 0) {
        store.dispatch(
          actions.statusMessage({
            message: ["preferences.scan_install_locations.no_items_found"],
          })
        );
      } else if (importRes.numImportedItems > 0) {
        store.dispatch(actions.newItemsImported({}));
        store.dispatch(
          actions.statusMessage({
            message: [
              "preferences.scan_install_locations.items_imported",
              { numImportedItems: importRes.numImportedItems },
            ],
//.........这里部分代码省略.........
开发者ID:HorrerGames,项目名称:itch,代码行数:101,代码来源:scan-install-locations.ts


注:本文中的common/actions.actions.newItemsImported方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。