Является ли этот способ именования переменных функций приемлемым? - PullRequest
0 голосов
/ 30 сентября 2019

Является ли соглашение об именах проблемой? doThis определяет уникальную логику для my_function и соответственно вызывает f_get или f_put.

Предполагается, что имена переменных будут определены правильно. Мой вопрос касается переопределения my_function каждый раз в функциях doThis.

Есть ли лучший способ реорганизовать это?

f_get(..., my_function) {
    axios...(...)
    .then(my_function)
}

f_put(..., my_function) {
    axios...(...)
    .then(my_function)
}

doThis1() {
    my_function = {...}
    f_get(..., my_function)
}

doThis2() {
    my_function = {...}
    f_put(..., my_function)
}

doThis3() {
    my_function = {...}
    f_get(..., my_function)
}

1 Ответ

0 голосов
/ 30 сентября 2019

Вот немного более идиоматический способ делать то, что вы делаете (postprocessor = my_function):

 process({ verb, parameters, postprocessor }) {

        const { handler, postprocessor } = ({
            put: {
                hander: parameters => axios.put(parameters)
            },
            get: {
                hander: parameters => axios.get(parameters)
            }
        })[verb];

        return handler(parameters).then(postprocessor)
    }

И тогда вы можете сделать это следующим образом:

const processPostprocessorA = ({ verb, handler }) => process({ verb, parameters, ()=> {/*Postprocessor A logic */}};

processPostprocessorA({ verb: "get", handler: ()=> {...} });
...