RxJS 和 redux-observable等到满足某个条件

问题描述

我对 RxJS 和 redux-observable 有问题。我是 RxJS 的新手。一般来说,我有一部史诗,听我说一些动作。我想对这些操作进行分组,以便在满足某些条件时一个一个地执行它们。我尝试了很长时间,但找不到解决方案。

这是我的情况:

为了或多或少地展示它的外观,我创建了这样一个代码waitUntilConditionIsMet 方法不存在,但它会显示一个方法,它会无限期地等待直到条件为真

const MAX_ParaLLEL_UPLOAD_QUERIES = 3
let currentlyUploadingCounter = 0

export const exampleEpic = (action$) => action$.pipe(
  ofType(
    EXAMPLE_ACTION,),waitUntilConditionIsMet(() => (
    currentlyUploadingCounter < MAX_ParaLLEL_UPLOAD_QUERIES
  ),1000),mergeMap(async (action) => {
    currentlyUploadingCounter += 1;
  
    await someAsyncAction()
    
    currentlyUploadingCounter -= 1;
    
    return {
      type: EXAMPLE_ACTION_SUCCESS,}
  }
)

目前它在递归的基础上对我有用(如果条件为假,在 mergeMap 中执行相同的延迟操作),但这效果不好(文件随机加载的)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)