He estado leyendo documentación sobre clases de Javascript todo el día, y ahora quiero refactorizar una función de informe de error en su propia clase, pero incluso cuando empiezo a escribir mi clase como se muestra a continuación:
class bugReport { constructor(x, y) this.x = x; this.y = y; }Lucho por pensar cómo comenzar a desglosar las piezas constituyentes de mi informe de error en el formato de una clase de Javascript, es decir. ¿Qué es x, y cuando se trata de una función de informes? ¿Hay alguna manera de ver los pasos de la creación de una clase que lo haga más fácil, o un patrón que siga? Adjuntaré mi código de informe de error original a continuación para darle un ejemplo de lo que estoy tratando de hacer una clase.
Informe de error:
$("#bug").submit((e) => { e.preventDefault() const input = document.getElementById('nameInput'); bugInfo = { "name": `[${ticket.id}] Bug report`, "story_type" : "Bug", "description": `+ ${urlHelper}` + " \n" + `+ ${input.value}`, } reportBug(bugInfo).then(collapse.collapse('toggle')) }) }); async function reportBug(data = {}) { const url = 'exampleUrl' const response = await fetch(url, { method: 'POST', headers: { "Token": `${metadata.settings.token}`, "Content-Type": "application/json" }, body: JSON.stringify(data) }); return response.json(); }Realmente no soy un experto en JavaScript, pero lo haría así:
class Logger { static async logInfo(data = {}) { const url = 'exampleUrl' const response = fetch(url, { method: 'POST', headers: { "Token": `${metadata.settings.token}`, "Content-Type": "application/json" }, body: JSON.stringify(data) }); return response.json(); } } Además, dado que preguntó sobre un pattern you follow , le sugiero que lea sobre Cross-cutting concern . Aqui hay unos cuantos enlaces: