简单查询的上下文

我在 MongoDB 上进行了一个简单的数据库查询,我看到了 2 种不同的方式来调用 Context.


第一种超时方式:


ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)

defer cancel()

result := collection.FindOne(ctx, bson.M{"_id": userID})

第二种方式,直接用 context.Background() 调用


result := collection.FindOne(context.Background(), bson.M{"_id": userID})

如果我使用第二种方式并且有很长的延迟,它会永远等待还是超时?

我发现第二种解决方案更优雅,代码行更少,但由于我是 Go 新手,我可能会误解风险。


慕村225694
浏览 111回答 1
1回答

POPMUISE

如果您通过URI 选项设置套接字超时和连接超时,则当超过这些超时时,第二个选项应该超时。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go