1

我有一个使用Firestore并托管在Cloud Run上的应用程序。

我有一个保存客户端实例的全局变量,我的问题是它是否需要显式关闭,因为关闭方法本身声明“在程序退出时不需要调用Close。”?

保存Firebase实例的“config”包:

var应用程序*firebase。应用程序var Firestore公司func LoadFirebase(ctx-context.context){应用程序,错误:=firebase。新应用程序(ctx,无)如果错误!=无{日志。Fatalln(“Firebase初始化失败:”,错误)}firestore,错误:=应用程序。消防仓库(ctx)如果错误!=无{日志。Fatalln(“Firestore初始化失败:”,错误)}App=应用Firestore=消防仓库}

“主”包:

函数初始化(){初始化程序。LoadFirebase(context.Background())}函数main(){//初始化服务器端口:=os。Getenv(“港口”)路由器:=http。新建ServeMux()路由(路由器)服务器:=http。服务器{地址:“:”+端口,处理程序:中间件。CheckAuth(路由器),}//这是必要的吗?推迟配置。Firestore。关闭()fmt公司。Println(“服务器正在端口上运行:”,port)日志。Fatalln(“启动服务器时出错:”,server.ListenAndServe())}
1
  • 1
    不,没有必要。这个文档表示程序退出时应用程序不需要调用Close()。main()函数返回。 5月17日3:22

1答案1

重置为默认值
1

close方法通过关闭它维护的套接字来与服务器传输数据,并阻止它自动重新连接,从而有效地终止了客户端。(据我所知,这种行为在所有Firestore客户端库之间都是一致的,并且不是唯一的。)如果这不是你需要的行为,那么就没有必要调用它。这样做的需要完全取决于你的代码的要求。

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.