Javascript 是否可以不使用.subscribe方法从RxJS获取值?

Javascript 是否可以不使用.subscribe方法从RxJS获取值?,javascript,rxjs,Javascript,Rxjs,我正在寻找一种使用RxJS的管道操作符来改进现有代码的方法 与此相反: 导出常量initialState={} 导出常量createReducerActions= actionType=>{ [动作类型]: prevState,{data}=> 数据 , } 常量CreateDataStorageDeducer= actionType=> createReducer createReducerActions 动作类型, , 初始状态 , 我想看看RxJS中是否存在某种类型的ExecuteMidd

我正在寻找一种使用RxJS的管道操作符来改进现有代码的方法

与此相反:

导出常量initialState={} 导出常量createReducerActions= actionType=>{ [动作类型]: prevState,{data}=> 数据 , } 常量CreateDataStorageDeducer= actionType=> createReducer createReducerActions 动作类型, , 初始状态 , 我想看看RxJS中是否存在某种类型的ExecuteMiddiley函数,如下所示:

导出常量initialState={} 导出常量createReducerActions= actionType=>{ [动作类型]: prevState,{data}=> 数据 , } 常量CreateDataStorageDeducer= actionType=> ofactionType 管 mapcreateReducerActions, mapreducerActions=> createReducer 还原作用, 初始状态, .立即执行
你不能同步地得到一个可观测值。你能得到的最接近的方法是创建一个BehaviorSubject,订阅一个Observable。然后可以同步获取BehaviorSubject的值

console.logtypeofrxjs.BehaviorSubject; 常数o=rxjs.interval1000; const bs=new rxjs.BehaviorSubjecthello; bs.subscribev=>console.logv; o、 订阅; bs.nextworld; //您可以使用getValue获取BS的当前值 log`bs当前的值是:${bs.getValue}`; 设置超时=>{ log`3秒后的bs值为:${bs.getValue}`; }, 3000;
你的执行官想要实现什么?还有什么问题不能用subscribe、toPromise或forEach解决?这些都是异步方法。我得回电话。在本例中,我只想获取函数完成后立即出现的值。在第一个示例中,它返回createReducer的结果。在第二个示例中,对于ExecuteMiddlely,它具有相同的功能。对于subscribe,我必须传入一个回调方法来获取createReducer的值。这不是真的。基本上,RxJS中与时间无关的所有内容都是同步的。仅当您使用例如延迟、缓冲时间。。。或者类似的操作符,你会得到异步行为。我如何在没有回调的情况下从一个可观察对象中获取值?所以看起来所有这些RxJS操作符本质上都是异步的。如果我想同步提取它们的值,就无法保证值是我想要的。@Sawtaytes我的意思是,这是他们的意图。他们的意图是通知听众事情已经发生了。它们是推动对象,而不是拉动对象。考虑RXJS提出的表:从它们身上拔出是不符合它们的目的的。不过,我希望能够在任何地方重用这些操作符。我想,在我的特定示例中,我可以使用数组reduce,类似于管道或compose方法,因为我要做的是map。