如何将操作员输入和延迟操作的结果结合在一起

Vivek Kumar

在下面的示例中,我试图缩小用例。

我被困在需要传递运算符结果的地方

  • 运算符的输入传递
  • 以及内部延迟操作的结果concatMap

这样我就可以在下一个运算符中使用它。

import { of, from, defer } from 'rxjs';
import { mergeMap, filter, concatMap, map, reduce } from 'rxjs/operators';

const list: number[] = [1, 2, 3, 4, 5, 6];

function testFunctionPromise(value: number) {
  return () => {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        return resolve('processed-value ' + value);
      }, 1000);
    });
  }
}


from(list)
  .pipe(
    filter((item: number) => item % 2 === 0),
    concatMap((item: number) => {
      const pf = testFunctionPromise(item);

      /**
       *  QUESTION: from this step I want to pass both
       *  the result of defer(pf); and item
       * 
       *  as
       * 
       *  return { item: <result of defer(pf)> }
       * 
       */
      return defer(pf);
    }),
    reduce((acc: any[], item: any) => acc.concat([item]), [])
  )
  .subscribe(
    data => console.log({ data }),
    error => console.error({ error })
  )

网址:https//stackblitz.com/edit/rxjs-defer? file = index.ts

马丁
concatMap((item: number) => {
  return defer(testFunctionPromise(item)).pipe(
    map(result => ({
      item: result
    })),
  );
})

或者,如果您想item用作属性:

map(result => ({
  [item]: result
})),

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将python asyncio与线程结合在一起?

如何将PrettyPrintingJsonGeneratorDecorator和MaskingJsonGeneratorDecorator结合在一起?

如何将ggplot(具有lon,lat和fill值)与ggmap结合在一起?

如何将原位转换和复制转换结合在一起?

如何将“最终形式计算”与“最终形式数组”结合在一起

如何将back_inserter与转换结合在一起,C ++

项目反应堆-如何将Mono和Flux结合在一起?

如何将输入与字符串结合在一起?

如何将聚合查询与不同联接结合在一起?

如何将EventEmitter与动态组件结合在一起?

如何将react-hooks,redux和打字稿结合在一起?

如何将.toggleClass()与.appendTo()结合在一起?

如何将Axios调用循环与等待功能结合在一起?

如何将这两个查询结合在一起?(MySQL)

如何将两个不同查询的结果与猫鼬结合在一起?

将两个输入字段的结果与JavaScript结合在一起?

如何将RequireJS路径和require-css结合在一起?

如何将数据框总结为与ID结合在一起的列表?

如何将Bash的流程替换与HERE文档结合在一起?

如何将正交摄影机X,Y和输入处理器screenX,screenY结合在一起?

如何将typedef的结构与实例创建结合在一起?

如何将固定的月份和日期与sql year函数结合在一起?

如何将列与R中的条件结合在一起?

如何将文字信息与系统信息结合在一起?

如何将分组的输入与对齐的表单结合在一起?

如何将JavaScript代码和html代码结合在一起?

如何将时基轮询与等待的任务结合在一起

如何将5个以上的PDF与imagemagick转换结合在一起?

Python:如何将for循环和while循环结合在一起?