以下是我得到的错误:
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));