Как создать переменную, которая содержит функцию с входными данными, которые являются переменными - PullRequest
0 голосов
/ 27 июня 2019

Я хочу создать переменную, которая содержит функцию с вводом переменной.

Я пробовал это, но безуспешно


var setup = function( isAjaxSuccess ) {
    return function( ajaxSuccess = isAjaxSuccess ){

       if( ajaxSuccess === true ){
           console.log("success");
       } else {
           console.log("error");
       }        

    };

};

Здесь мы вызываем setup (true) или setup (false) в соответствии сна какую функцию меняется.Здесь console.log просто для галочки.Здесь setup (true) должна возвращать функцию в основном.

Ответы [ 3 ]

2 голосов
/ 27 июня 2019

Просто верните функцию, которая использует ajaxSuccess:

var setup = function(ajaxSuccess) {
  return function() {
    if (ajaxSuccess === true) {
      console.log('success');
    } else {
      console.log('fail');
     }
  }
};

setup(true)();
setup(false)();

Вы также можете сделать его более кратким, например:

const setup = ajaxSuccess => () => ajaxSuccess ? console.log("success") : console.log("fail");
setup(true)();
setup(false)();
0 голосов
/ 27 июня 2019

Поскольку вызов setup(true) возвращает функцию, вам, в свою очередь, необходимо вызвать эту функцию. Попробуйте:

var setup = function(isAjaxSuccess) {
    return function() {
        if (isAjaxSuccess === true ) {
            console.log("success");
        } else {
            console.log("error");
        }
    };
};

var result = setup(true);
result(); // will log "success" to the console
0 голосов
/ 27 июня 2019

Вам не нужно запускать оператор return; просто проверьте ввод внутри условного:

var setup = function(ajaxSuccess) {
  if (ajaxSuccess === true) {
    console.log('success');
  } else {
    console.log('fail');
  }

};

setup(true);
setup(false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...