HTTP-ответ всегда пуст - PullRequest
       1

HTTP-ответ всегда пуст

0 голосов
/ 13 ноября 2018

Как передать параметр http.ResponseWriter в параметр? Я из nodejs и очень хотел бы выучить Go.

Вот основной файл:

import (
    "net/http" 
    "./libs/database"
)

func bla (w http.ResponseWriter, r *http.Request) {
   go database.AddFriend("bob", w) 
}

Вот файл базы данных:

import (
    "net/http"
)

 func AddFriend (friendName string, w http.ResponseWriter){
    fmt.Println(friendName)
    w.Write([]byte("Yoooooooo"))    
 }

Все работает, но w.Write ничего не возвращает к моему сообщению ajax. Я продолжаю думать, что это как nodejs, где я могу передать объект затем использовать его. Я знаю, что это, вероятно, что-то простое, но я просто не могу понять это.

1 Ответ

0 голосов
/ 13 ноября 2018

Не звоните database.AddFriend в горутине. Это, скорее всего, причина вашей проблемы. При использовании goroutine ваше соединение закрывается и отправляется ответ, прежде чем вывод записывается в ответ HTTP.

func bla (w http.ResponseWriter, r *http.Request) {
   database.AddFriend("bob", w) 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...