У меня есть несколько служб 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 может быть именем файла, но как выглядит код внутри него? Это должен быть модуль? Если да, то как я могу включить его в сервис?
Например, это рекомендуемый способ сделать это?
приложение/услуги/помощники/parser-helper.module.ts
module parserHelperModule {
export function helperA(){}
export function helperB(){}
}