javascript 结合合并映射的可观测值的值

Posted

tags:

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

const ofPermissionType = (
  requiredPermissionType,
) => (
  filter(({ permissionType }) => (
    requiredPermissionType === permissionType 
  ))
)

const fetchPermissionsEpic = (
  action$,
  state$,
  { ajax },
) => (
  action$
  .pipe(
    ofType(FETCH_PERMISSIONS),
    map(props => ({
      ...props,
      accessToken: (
        accessTokenSelector(
          state$.value,
        )
      ),
    })),
    mergeMap(({
      accessToken,
      permissionTypes,
    }) => (
      from(permissionTypes)
      .pipe(
        map(permissionType => (
          of(permissionType)
          .pipe(
            takeUntil(
              action$
              .pipe(
                ofType(FETCH_PERMISSIONS),
                switchMap(({ permissionTypes }) => (
                  permissionTypes
                )),
                ofPermissionType(permissionType),
              )
            ),
            switchMap(() => (
              ajax({
                crossDomain: true,
                headers: {
                  'Authorization': `Bearer ${accessToken}`,
                },
                url: (
                  'https://example.com/permissions'
                  .concat('?')
                  .concat('permissionType=')
                  .concat(permissionType)
                ),
              })
              .pipe(
                pluck('response'),
                map(permissionValue => ({
                  permissionType,
                  permissionValue,
                })),
                map(storePermission),
                catchError(error => (
                  of(
                    caughtError(
                      error
                    )
                  )
                )),
              )
            )),
          )
        )),
        mergeAll(2),
        multicast(
          new Subject(),
          source$ => (
            source$
            .pipe(
              mergeOperator(
                source$
                .pipe(
                  toArray(),
                  map(finishedStoringPermissions),
                )
              ),
            )
          )
        )
      )
    )),
  )
)

以上是关于javascript 结合合并映射的可观测值的值的主要内容,如果未能解决你的问题,请参考以下文章

Splunk深度专题:疫情下的可观测

如何利用 Apache APISX 提升 Nginx 的可观测性

Hibernate / JPA在合并后获取数据库中具有默认值的列的值

JavaScript中自定义函数以及文本框radio下拉框的值的获取,结合淘宝竞拍案例来理解。。。

RxSwift:结合不同类型的可观察对象和映射结果

此处映射了有关使用屏幕截图和生成更高分辨率的可打印地图图像并结合屏幕截图的政策