在我的应用程序中,我有一个服务,其中的方法被多次使用。一个方法会传递一系列参数,如下所示(在我的例子中,参数的名称/指示是无关紧要的)...
现在我需要扩展它以接受第四个可选参数,如下所示:
请注意,
有什么最好的方法可以避免在想要使用
非常感谢。
doSomething(url: string, data: any, qParams?: QueryParams) {}
现在我需要扩展它以接受第四个可选参数,如下所示:
doSomething(url: string, data: any, qParams?: QueryParams, headers?: HeadersType) {}
请注意,
QueryParams
和 HeadersType
是我编写的两个自定义类型。但是有些情况下,qParams
会为 null,头部信息将包含一个 headersType
对象。因此,在某些情况下,我将以以下方式调用方法:doSomething(urlValue, dataVal)
或 doSomething(urlVal, dataVal, qParamsVal)
或 doSomething(urlVal, dataVal, null, headersVal)
或 doSomething(urlVal, dataVal, qParamsVal, headersVal)
。有什么最好的方法可以避免在想要使用
headersVal
而不是 qParamsVal
的参数列表中放置 null 值呢?我意识到我可以传递一个带有键的对象,但我是否可以使用展开运算符或其他内容。我正在使用 TypeScript,并且我的应用程序是使用 Angular2 编写的。非常感谢。