simplify
This commit is contained in:
parent
6f3654e147
commit
cd46986e57
|
@ -20,16 +20,18 @@ func (r *RequestContext[T]) String() string {
|
||||||
return fmt.Sprintf("%+v", r.ans)
|
return fmt.Sprintf("%+v", r.ans)
|
||||||
}
|
}
|
||||||
|
|
||||||
func do[T any](r *RequestContext[T]) *RequestContext[T] {
|
func (r *RequestContext[T]) Do() func(r *RequestContext[T]) *RequestContext[T] {
|
||||||
r.ans = *new(T)
|
return func(r *RequestContext[T]) *RequestContext[T] {
|
||||||
res, err := http.DefaultClient.Do(&r.req)
|
r.ans = *new(T)
|
||||||
if err != nil {
|
res, err := http.DefaultClient.Do(&r.req)
|
||||||
r.err = err
|
if err != nil {
|
||||||
|
r.err = err
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
defer res.Body.Close()
|
||||||
|
r.err = json.NewDecoder(res.Body).Decode(&r.ans)
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
defer res.Body.Close()
|
|
||||||
r.err = json.NewDecoder(res.Body).Decode(&r.ans)
|
|
||||||
return r
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type someResult struct {
|
type someResult struct {
|
||||||
|
@ -45,7 +47,7 @@ func main() {
|
||||||
req: *r,
|
req: *r,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
results := lambda.Filter(parallel.Map(requests, do[someResult], 4), func(r *RequestContext[someResult]) bool {
|
results := lambda.Filter(parallel.Map(requests, requests[0].Do(), 4), func(r *RequestContext[someResult]) bool {
|
||||||
return r.err == nil
|
return r.err == nil
|
||||||
})
|
})
|
||||||
for _, v := range results {
|
for _, v := range results {
|
||||||
|
|
Loading…
Reference in New Issue