正如预期的那样,以下代码在 5 秒后发出 42:
const valueObservable = of(42).pipe(delay(5000));
valueObservable.subscribe((value) => console.log(value));
Run Code Online (Sandbox Code Playgroud)
但是,订阅时会立即抛出版本错误:
const throwingObservable = throwError(new Error('My Error')).pipe(delay(5000));
throwingObservable.subscribe((value) => console.log(value), (error) => console.error(error));
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?如何延迟抛出错误?
我定义了一个规则:
def("invokation", char('@').word().plus().flatten());
Run Code Online (Sandbox Code Playgroud)
对于“@who”,它将匹配并得到@who结果。
怎么问它只返回who而不带@?