HTTP响应始终为空

时间:2018-11-13 10:05:51

标签: http go import parameters

如何在参数中传递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 :(得分:4)

请勿在goroutine中调用database.AddFriend。这很可能是您造成问题的原因。通过使用goroutine,在将输出写入HTTP响应之前,将关闭连接并发送响应。

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