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


TypeScript tap.tap函数代码示例

本文整理汇总了TypeScript中rxjs/operators/tap.tap函数的典型用法代码示例。如果您正苦于以下问题:TypeScript tap函数的具体用法?TypeScript tap怎么用?TypeScript tap使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


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

示例1: run

function run() {
  if (!command) {
    console.log('Welcome to frint-cli!');
    console.log('\n');
    console.log('These commands are currently available:\n');

    return app.getApps$()
      .pipe(
        map(registeredApps => (
          registeredApps
            .map(registeredApp => registeredApp.name)
            .sort()
        )),
        take(1),
        map(registeredAppNames => (
          registeredAppNames
            .map(appName => `  - ${appName}`)
            .join('\n')
        )),
        tap(names => console.log(names)),
        tap(() => console.log('\n')),
        tap(() => console.log('Type `frint help <commandName>` to learn more.'))
      )
      .subscribe();
  }

  const commandApp = app.getAppInstance(command);

  if (!commandApp) {
    return console.log('Command not available.');
  }

  return commandApp.get<FrintCliProvider>('execute')();
}
开发者ID:Travix-International,项目名称:frint,代码行数:34,代码来源:frint.ts

示例2: simulateClickEffect

export function simulateClickEffect(
    xs: Observable<ClickEvent.IncomingPayload>,
    inputs: Inputs
) {
    return xs.pipe(
        withLatestFrom(inputs.window$, inputs.document$),
        tap(([event, window, document]) => {
            const elems = document.getElementsByTagName(event.tagName);
            const match = elems[event.index];

            if (match) {
                if (document.createEvent) {
                    window.setTimeout(function() {
                        const evObj = document.createEvent("MouseEvents");
                        evObj.initEvent("click", true, true);
                        match.dispatchEvent(evObj);
                    }, 0);
                } else {
                    window.setTimeout(function() {
                        if ((document as any).createEventObject) {
                            const evObj = (document as any).createEventObject();
                            evObj.cancelBubble = true;
                            (match as any).fireEvent("on" + "click", evObj);
                        }
                    }, 0);
                }
            }
        }),
        ignoreElements()
    );
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:31,代码来源:simulate-click.effect.ts

示例3: withLatestFrom

 [Overlay.Info]: (xs: Observable<[LogNames, any]>, inputs: Inputs) => {
     return xs.pipe(
         withLatestFrom(
             inputs.option$,
             inputs.notifyElement$,
             inputs.document$
         ),
         /**
          * Reject all notifications if notify: false
          */
         filter(([, options]) => Boolean(options.notify)),
         /**
          * Set the HTML of the notify element
          */
         tap(([event, options, element, document]) => {
             element.innerHTML = event[0];
             element.style.display = "block";
             document.body.appendChild(element);
         }),
         /**
          * Now remove the element after the given timeout
          */
         switchMap(([event, options, element, document]) => {
             return timer(event[1] || 2000).pipe(
                 tap(() => {
                     element.style.display = "none";
                     if (element.parentNode) {
                         document.body.removeChild(element);
                     }
                 })
             );
         })
     );
 }
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:34,代码来源:log.ts

示例4: setWindowNameDomEffect

export function setWindowNameDomEffect(xs: Observable<string>, inputs: Inputs) {
    return xs.pipe(
        withLatestFrom(inputs.window$),
        tap(([value, window]) => (window.name = value)),
        ignoreElements()
    );
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:7,代码来源:set-window-name.dom-effect.ts

示例5: styleSetDomEffect

export function styleSetDomEffect(xs: Observable<StyleSetPayload>) {
    return xs.pipe(
        tap(event => {
            const { style, styleName, newValue } = event;
            style[styleName] = newValue;
        }),
        map(e => Log.consoleInfo(`[StyleSet] ${e.styleName} = ${e.pathName}`))
    );
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:9,代码来源:style-set.dom-effect.ts

示例6: mergeMap

 , mergeMap(() => {
     return timer(200).pipe(
         tap(() => {
             // if another reattachImportedRule call is in progress, abandon this one
             if (rule.__LiveReload_newHref !== href) { return; }
             parent.insertRule(newRule, index);
             return parent.deleteRule(index+1);
         })
     )
 })
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:10,代码来源:Reloader.ts

示例7: switchMap

 switchMap(([event, options, element, document]) => {
     return timer(event[1] || 2000).pipe(
         tap(() => {
             element.style.display = "none";
             if (element.parentNode) {
                 document.body.removeChild(element);
             }
         })
     );
 })
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:10,代码来源:log.ts

示例8: logout

 @Effect({ dispatch: false })
 logout(): Observable<Action> {
   return this.actions$
     .ofType(AuthActionTypes.LOGOUT)
     .pipe(
       tap(action =>
         this.localStorageService.setItem(AUTH_KEY, { isAuthenticated: false })
       )
     );
 }
开发者ID:spairo,项目名称:angular-ngrx-material-starter,代码行数:10,代码来源:auth.effects.ts

示例9: persistThemeSettings

 @Effect({ dispatch: false })
 persistThemeSettings(): Observable<Action> {
   return this.actions$.ofType(SETTINGS_CHANGE_THEME).pipe(
     tap(action =>
       this.localStorageService.setItem(SETTINGS_KEY, {
         theme: action.payload
       })
     )
   );
 }
开发者ID:a727891,项目名称:bb,代码行数:10,代码来源:settings.effects.ts


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