我正在编写一个客户端,以使用JavaScript与服务器API进行通信。我有OOP背景,但是正在尝试使用现代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;
这些仅仅是示例。在模块上实现“可设置”变量的最常见模式是什么?
相关分类