Я пишу клиент для общения с API сервера в JavaScript. У меня фон ООП, но я пытаюсь использовать современный EcmaScript.
Итак, я начал с этого:
customerApi.js:
const baseUrl = "http://myapi";
export const getCustomers = () => { /* get customer code */ }
export const addCustomer = cust => {}
export const deleteCustomer = id => {}
Все функции используют baseUrl.
Теперь я хочу провести рефакторинг, чтобы код, использующий customerApi.js, устанавливал / передавал в baseUrl, и единственные способы, которые я нашел, - это
сделать это классом:
export default class customerApi {
constructor(baseUrl) {
this._baseUrl baseUrl;
}
}
Передайте его в каждый метод:
export const getCustomers = (baseUrl) => { /* get customer code */ }
export const addCustomer = (baseUrl,cust) => {}
export const deleteCustomer = (baseUrl,id) => {}
Обертывание в функции:
const moduleFn = baseUrl => (
return {
getCustomers: () => { /* get customer code */ }
addCustomer: (cust) => {}
deleteCustomer: (id) => {}
}
)
export default moduleFn;
Это всего лишь примеры.
Каков наиболее распространенный шаблон для реализации «устанавливаемой» переменной в модуле?