Hi guys I’ve been googling for a while and I don’t find the answer to this question: Are http request synchronous or asynchronous? All information points to say they’re concurrent, but I don’t get what this means in this context, so let put a little example: Suppose I have a bunch of structures that I want to fill with the response from two different http calls and the way I need this(this is a simplified example what I’m trying to do really needs it to be executed that way) is for examle:
type person struct {
name string
age int
}
var ids interface{}
var names interface{}
idsToSearch := [1,2,3]
var personList [] interface {}
for _, i := range idsToSearch{
resp, err = http.Get("webServiceWithId's", i)
defer resp.Body.Close()
dec := json.NewDecoder(r.Body)
dec.Decode(&ids)
for _, item := range ids.id {
var rPerson person
person.id = item.id
resp, err = http.Get("webServiceWithNames")
defer resp.Body.Close()
dec := json.NewDecoder(r.Body)
dec.Decode(&names)
for _, name := range names.id {
person.name = name.name
}
personList.append(personList, person)
}
}
I don’t know if this is clear enough, what I’m asking is can I concatenate two(or more) request in a loop so the second one uses first’s response and the program waits until the second has finished to keep executing the loop and make a new fist type petition?