0

浏览 nodejs 文档,我看到传递选项对象以配置http库中的功能。但是,事后,我看不到访问在http.request(options, callback)调用中用于构造对象的原始选项的快速方法。原始选项是否可以通过请求对象获得并且不被视为私有,或者我应该保留自己对原始选项的引用以防我以后想使用它们?http.ClientRequest

我假设这些选项是在 http.ClientRequest 对象中合成的,但这可能是错误的。

我可能会尝试使用任何一种方式(挖掘复合信息,或传递对它的外部引用),但对于 nodejs 来说足够新,我首先需要一些明智的建议,以找出如果选项对象的我该做什么可用,并使用最佳实践。

4

1 回答 1

0

您应该始终保留自己的参考。大多数情况下,在将对象传递给构造函数后,您无法知道该对象会发生什么。几乎每个人都不管它,但一些库/模块可能会对它产生副作用。例如,您可能会看到源代码在执行以下操作:

options.foo = options.foo || 'bar';

...修改你的对象。因此,如果您想保留对它的引用,您甚至可能必须在将对象传递给构造函数之前对其进行克隆。

特别是ClientRequest,它不持有对选项对象的公共引用,但它具有与某些选项相匹配的属性,例如req.pathor req.port

于 2012-08-10T12:53:50.263 回答