我有一些 Angular 服务,它们具有相同的方法来解析 json 响应、处理错误等(例如,如果它是 422 错误则进行捕获)。
显然,我不希望将这些方法复制并粘贴到每个服务中,但我似乎找不到任何关于我应该将这段代码放在哪里的指导。
它们不是类方法,只是每个服务中当前相同的私有方法。
这是一个例子:
private parseToString(jsonResponse: any){
return Object.keys(jsonResponse).reduce(
(prev, next) => prev.concat(jsonResponse[next].map(
v => next + ' ' + v).join(', ')), []).join(', ');
}
有什么方法可以创建一个帮助模块或类似 Rails Concern 的东西,你可以包括?
例如说我有这个文件夹:
应用程序/服务
其中有我的各种 .ts 服务文件。
我可以创建“app/services/helpers”文件夹并在其中放置一个文件……但是该 .ts 文件中包含什么?
例如。parser-helper.ts 可能是文件名,但里面的代码是什么样的?它应该是一个模块吗?如果是这样,我怎样才能将它包含到服务中?
例如,这是推荐的方法吗?
app/services/helpers/parser-helper.module.ts
module parserHelperModule {
export function helperA(){}
export function helperB(){}
}