¿Cuál es el propósito/cómo funciona al declarar una función como:
myObj.request({myParam: null })[something](from, (error, res, body){ //code }) ¿Cuál es el comportamiento de este código? No entiendo el significado de [something] y la función anónima que sigue
No conozco los detalles de implementación de su código publicado, así que puedo adivinar:
myObj.request() devolverá una matriz/objeto de funciones. Con [something] seleccionará una de esas funciones y la invocará después. Como se dijo, eso es solo adivinar lo que está pasando ya que no proporcionaste ningún contexto. Por ejemplo:
const myObj = { request: () => ({ a: () => console.log('i am fn a'), b: () => console.log('i am fn b'), }) } myObj.request()['a']() // console.logs 'i am fn a'NOTA: por razones de simplicidad, no pasé ningún argumento/devoluciones de llamada a las funciones. Si todavía tienes preguntas, házmelo saber y actualizaré la respuesta.
Javascript evalúa la expresión entre corchetes, en su caso, el valor de something y ejecutará la función con ese nombre.
Por ejemplo en tu caso
myObj.request({myParam: null })[something] Si el valor de something es "get" como cadena. Simplemente se ejecutará
myObj.request({myParam: null })["get"]O
myObj.request({myParam: null }).get Es como acceder a una propiedad dentro de un objeto, donde myObj.request({myParam: null }) es el objeto y el valor de something es la propiedad dentro de ese objeto.