我必须在Golang中每5分钟进行一次API调用来捕获响应。如何在Golang中实现每5分钟进行一次REST API调用以获取响应令牌的重试逻辑?
res, err := http.Get("https://mydadisjoke.com/Acct?")
if err != nil {
return "", err
}
// defining a struct instance
var KeyID Response
// data in JSON format which
// is to be decoded
Data := []byte(`{
"Key" : "Key",
"Account" : "Account",
}`)
// decoding Response struct
// from json format
err := json.Unmarshal(Data, &KeyId)
if err != nil {
fmt.Println(err)
}
// printing details of
// decoded data
fmt.Println("Struct is:", KeyId)
fmt.Printf("Key is %s\n", KeyId.Key)
字符串
2条答案
按热度按时间hs1ihplo1#
你可以把上面的代码做成一个函数,并在外面加上时间控制:
字符串
eufgjt7s2#
您可以使用
time.NewTicker(interval)
:NewTicker返回一个新的Ticker,其中包含一个通道,该通道将在每次滴答之后发送通道上的当前时间。滴答的周期由duration参数指定。Ticker将调整时间间隔或丢弃滴答以弥补慢接收器。duration d必须大于零;否则,NewTicker将死机。停止Ticker以释放相关资源。
在这里,它将在第一次调用1秒后调用,然后调用5次。分钟后:
字符串
完整示例:
型