gorequest包:专门检查超时

gorequest包:专门检查超时,go,gorequest,Go,Gorequest,我正在使用下面的包发出一个出站http请求 例如,我提出了一个GET请求,如下所示 res,body,errs=goReq.Get(url.End()) 我的问题是如何判断请求中是否有超时。由于超时方法,您可以使用(net和net/url包中的所有错误类型都实现timeout()bool)。gorequest不支持上下文,因此不必考虑: package main import ( "log" "net/http" "net/http/httptest" "ti

我正在使用下面的包发出一个出站http请求

例如,我提出了一个GET请求,如下所示 res,body,errs=goReq.Get(url.End())

我的问题是如何判断请求中是否有超时。

由于超时方法,您可以使用(net和net/url包中的所有错误类型都实现
timeout()bool
)。gorequest不支持上下文,因此不必考虑:

package main

import (
    "log"
    "net/http"
    "net/http/httptest"
    "time"

    "github.com/parnurzeal/gorequest"
)

func main() {
    s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        time.Sleep(time.Second)
    }))

    request := gorequest.New()
    _, _, errs := request.Get(s.URL).Timeout(500 * time.Millisecond).End()

    for _, err := range errs {
        if os.IsTimeout(err) {
            log.Fatal("timeout")
        }
    }
}

你可以这样做吗<代码>请求:=gorequest.New()。超时(2*时间.毫秒)响应,正文,错误:=request.Get(“http://example.com“”。End()。你需要处理超时发生时应该发生的事情。你有没有看到文档?没有,我知道如何设置超时。我想检测请求是否超时。