浏览nodejs文档我看到 options 对象被传递给配置http
库中的功能。但是,事实上,我没有看到快速访问http.request(options, callback)调用中用于构造http.ClientRequest
对象的原始选项的方法。原始选项是否可以通过请求对象获得并且不被视为私有,或者我是否应该保留自己对原始选项的引用,以防我以后想要使用它们?
我假设选项是在http.ClientRequest对象中合成的,但这可能是错误的。
我可能尝试使用这种方式(挖掘合成信息,或传递给它的外部引用),但我对nodejs有足够的新意见,我首先需要一些sage建议,以找出我应该如果选项对象可用,并使用最佳实践。
答案 0 :(得分:0)
你应该始终保持自己的参考。大多数情况下,在将对象传递给构造函数后,您无法告诉该对象会发生什么。几乎每个人都不管它,但是一些库/模块可能会产生副作用。例如,您可能会看到源代码正在执行:
options.foo = options.foo || 'bar';
......修改你的对象。因此,如果要保留对它的引用,甚至可能必须克隆对象,然后再将其传递给构造函数。
特别是ClientRequest
,它不包含对象对象的公开引用,但它具有与req.path
或req.port
等某些选项匹配的属性。< / p>