rxjs 管道中的 return 语句实际上是做什么的或意味着什么?

What does the return statement in the rxjs pipe actually do or mean?

尝试学习 RxJs,我在 https://www.learnrxjs.io.

找到了关于该主题的不错教程

我正在阅读他们的入门部分,但我不清楚 pipe() 函数中的 return 语句的实际作用或含义.这些是他们教程中的几个屏幕截图:

在传统编程中,我一直将 return 语句理解为退出 - 如果函数 A 调用函数 B,并且函数 B 有行 return 1,那么控制权将返回到函数 A.

这是这里发生的事情吗?如果是这样,在这两个示例中的任何一个中,我 return 要去哪里???

或者如果我不想在任何地方 return 而是立即对数据采取行动怎么办?例如,在错误处理示例中,我想做的不是 return makeRequest...,而是 const result = makeRequest...。我可以这样做吗?

总的来说,我在所有 returns 中遇到了一些概念上的困难,我见过与 observables 一起使用的,以及任何帮助解释它们的内容 do/are 将不胜感激。 RxJs 上的任何其他教程站点也是如此。

这些都是javascript

中非常相似的结构
function adder0(a,b){
  return a + b
}
const adder1 = (a,b) => {
  return a + b
}
const adder2 = (a,b) => a + b

console.log(adder0(3,7)) // 10
console.log(adder1(3,7)) // 10
console.log(adder2(3,7)) // 10

让我们重写该示例中的代码,但使用显式函数定义(而不是箭头语法)。

function maker(value){
  return makeRequest(value).pipe(
    catchError(handleError)
  );
}

function actioner(value){
  // take action
}

source.pipe(
  mergeMap(maker)
).subscribe(actioner)

需要注意的是,您实际上从未调用过这些函数。 RxJS 会为你做这些。你给他们一个函数,他们会根据给定运算符的规范在他们准备好并准备好时调用它。

祝你好运!