javascript RxJS版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript RxJS版本相关的知识,希望对你有一定的参考价值。

const render$ = new Subject()

const nodesEpic = (
  action$,
  state$,
) => (
  action$
  .pipe(
    ofType(START_PROCESSING),
    delay(0),
    switchMap(() => (
      of(state$.value)
      .pipe(
        mergeMap(({
          nodes,
        }) => (
          nodes
        )),
        mergeMap(({
          id,
        }) => (
          render$
          .pipe(
            filter(({
              id: updatedNodeId,
            }) => (
              updatedNodeId === id
            )),
            startWith(0),
            delay(getRandomTimeout()),
          )
          .pipe(
            mapTo(id),
          )
        )),
        bufferTime(40),
        filter((
          ids,
        ) => (
          ids
          .length > 0
        )),
        mergeAll(),
        tap((
          id,
        ) => {
          const node = (
            document
            .getElementById(`node-${id}`)
          )

          node.innerHTML = getRandomValue()
          node.style.color = getRandomColor()

          render$
          .next({ id })
        }),
      )
    )),
    ignoreElements(),
  )
)

以上是关于javascript RxJS版本的主要内容,如果未能解决你的问题,请参考以下文章

javascript 同步RxJS使用`from`

javascript RxJS传感器性能

javascript 使用RxJS执行同步传感器

javascript RxJS中的同步执行

javascript RxJS变换流可观察

javascript RxJS转换流使用