我正在MongoDB上进行简单的数据库查询,并且看到两种不同的调用Context的方法。
超时的第一种方式:
add.signal
第二种方法,直接使用context.Background()
进行调用ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
result := collection.FindOne(ctx, bson.M{"_id": userID})
如果我使用第二种方法并且延迟很长,它会永远等待还是一次超时?
我发现第二种解决方案使用更少的代码行就更优雅,但是由于我是Go语言的新手,所以我可能会误解风险。