利用上下文来取消 当前发送出去的请求
// tsetStudy1 project main.go
package main
import (
"context"
"fmt"
"net/http"
)
func main() {
url := "http://localhost:8080"
client := &http.Client{}
reqest, err := http.NewRequest("GET", url, nil) // http client get 请求
if err != nil {
fmt.Println(err)
return
}
ctx, cancel := context.WithCancel(context.Background()) // 获取一个上下文
reqest = reqest.WithContext(ctx) // 设置当前请求的上下文
go func() { // 一定条件 比如超时等等
cancel() // 撤销当前请求
}()
response, err := client.Do(reqest)
if err != nil {
fmt.Println("Fatal error ", err.Error()) // 取消反馈
return
}
defer response.Body.Close()
}
*** 相关golang的上下文 我也是刚刚开始接触有些用法上错误的地方请指示,谢谢。