Python 有什么链式调用的实现思路么

2019-01-19 19:07:13 +08:00
 spy0578

比如 A->B->C 每个函数执行结果要传递给下一个 如果中间有执行失败的 就终止掉

3433 次点击
所在节点    Python
7 条回复
tconey
2019-01-19 21:58:08 +08:00
你的意思是 C(B(A(X))),类似 F#的|>这种的?
xpresslink
2019-01-19 21:58:36 +08:00
不太明白你的需求是什么?因为这个太简单了。

import sys

def A(arg):
□□□□return value
def B(arg):
□□□□return value
def C(arg):
□□□□return value

try:
□□□□C(B(A()))
except:
□□□□sys.exit(1)
qq7171891
2019-01-19 22:04:07 +08:00
如果没什么特别要求的话:

( 1 )可以借助 RQ 这样的轻量级工具做守护进程,相当于搭个外部的桥。这样做的好处是 A、B、C 三个函数没有代码里的先后顺序要注意,以及轻量依赖;

( 2 )借助消息系统,三个函数也可以不注意顺序,但都需要监听消息?!

( 3 )不借助 RQ 和消息,倒着写成 C、B、A,执行是从 A 开始。

失败中断什么的,本身不就是有语法上的支持干这个?

楼主您看呢?
aijam
2019-01-20 10:08:35 +08:00
cyspy
2019-01-20 17:45:53 +08:00
return self?
ddou
2019-01-20 18:10:42 +08:00
可以借鉴下 Maybe Monad
oaix
2019-01-20 18:27:12 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/528644

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX