在主go程中分别启动两个go程调用各自方法,但返回不了数据
ctx := context.Background()
Chan1 := make(chan *FundInfo.StructFundInfo)
Chan2 := make(chan *FundInfo.StructFundTradeLimit)
go func() {
res1, err1 := client.GetFundInfo(ctx, fundcode)
fmt.Println("1111111111:", err1)
Chan1 <- res1
}()
go func() {
res2, err2 := client.GetFundTradeLimitInfo(ctx, fundcode)
fmt.Println("2222222222:", err2)
Chan2 <- res2
}()
value1 := <- Chan1
value2 := <- Chan2
log.Println("1111111111111111111", value1)
log.Println("2222222222222222222", value2)
返回结果如下:
而当一个方法普通调用,一个启动go程调用,是没问题的,两个方法都能返回各自数据。
希望哪位大神能解释下。谢谢。
看到你这里是第一个
go
和 第二个go
都返回了 错误.1: connection reset by peer
2: EOF
表现都为tcp连接断开
因此
res1
和res2
都为<nil>
.通道接收的值也为nil
发生错误的原因在于连接断开没有返回数据,请在这里多多debug查找。