如何在参数中传递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,我可以通过 对象然后使用它。我知道它可能很简单,但我似乎无法弄清楚。
答案 0 :(得分:4)
请勿在goroutine中调用database.AddFriend
。这很可能是您造成问题的原因。通过使用goroutine,在将输出写入HTTP响应之前,将关闭连接并发送响应。
func bla (w http.ResponseWriter, r *http.Request) {
database.AddFriend("bob", w)
}