當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。