go-flow
go get github.com/kamildrazkiewicz/go-flow
使用方法
func main() {
f1 := func(r map[string]interface{
}) (interface{
}, error) {
fmt.Println("function1 started")
time.Sleep(time.Millisecond * 1000)
return 1, nil
}
f2 := func(r map[string]interface{
}) (interface{
}, error) {
time.Sleep(time.Millisecond * 1000)
fmt.Println("function2 started", r[

本文主要探讨了go-flow框架的使用方法、内部数据结构及执行原理。内部通过map存储执行过程,依赖于一个名为flowStruct的结构体,其中deps记录前驱,ctr表示依赖它的执行体数量。执行流程遵循特定顺序,如A-B-C-D,Add()函数配置执行体的前驱。每个flowStruct启动一个goroutine,检查并等待前驱的完成,获取数据后执行并传递结果给依赖它的执行体,确保执行顺序正确。
最低0.47元/天 解锁文章
975

被折叠的 条评论
为什么被折叠?



