RxJs:TypeError:无法读取未定义的属性“长度”

时间:2019-05-29 14:11:31

标签: javascript reactjs rxjs

以下是我得到的错误:

  

TypeError:无法读取未定义的属性“ length”

SafeSubscriber.Subject.next [作为_next]

node_modules / rxjs / _esm5 / internal / Subject.js:60

^(.+)[*+-/]=(.+)$

现在显然这不是一个非常有用的错误,这是因为import java.util.regex.Matcher; import java.util.regex.Pattern; final String regex = "(.+)[*+-/]=(.+)"; final String string = "k*=i\n" + "apple*=orange"; final String subst = "$1=$1+$2"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); final Matcher matcher = pattern.matcher(string); // The substituted value will be contained in the result variable final String result = matcher.replaceAll(subst); System.out.println("Substitution result: " + result); 为空,所以真正的问题是为什么!

代码库在这里:https://github.com/no1melman/arxdux

当您使用 57 | 58 | if (!this.isStopped) { 59 | var observers = this.observers; > 60 | var len = observers.length; 61 | var copy = observers.slice(); 62 | 63 | for (var i = 0; i < len; i++) { 运行该应用程序并单击按钮this.observers时,您会看到错误提示...我很确定由于以下原因它应该可以工作:{{3} }这是原来的实现方式,已经移交给了...

“说”按钮是npm start -s的一部分,所有主要代码都在Say文件夹中。它从DisplayHello.js开始。 stackblitz显示了更简洁的代码-但它可以工作...

我觉得我在某处缺少一些./arxdux/

这源于此:

Provider.js

这使用自定义运算符:

.bind(this)

所有内容都合并在这里:

import { pipe } from 'rxjs';
import { ofType, combinePipes } from './arxdux/operators';
import { map, tap } from 'rxjs/operators';

export const sayHello = payload => ({ type: 'HELLO', payload });

const sayPipe = pipe(
    ofType('HELLO'),
    map(({ payload }) => ({ say: payload }))
);

export const topic = (action$, state$) => action$.pipe(combinePipes(sayPipe));

0 个答案:

没有答案