Задача callback

Рейтинг: -1Ответов: 1Опубликовано: 23.01.2023

Дополни функцию makeMessage таким образом, чтобы она ожидала вторым параметром (параметр callback) колбек-функцию и возвращала ее вызов. Функция deliverPizza или makePizza будет передаваться как колбек и ожидать аргументом имя доставляемой готовой пиццы.

Визвать makeMessage('Royal Grand', makePizza) вернуть рядок 'Pizza Royal Grand is being prepared, please wait...' - это сделала.

Вызов makeMessage('Ultracheese', deliverPizza) вернуть рядок 'Delivering Ultracheese pizza. Но вот тут не получаеться,'помогите, что делаю не так?

function deliverPizza(pizzaName) {
  return `Delivering ${pizzaName} pizza.`;
}

function makePizza(pizzaName) {
  return `Pizza ${pizzaName} is being prepared, please wait...`;
  
}

// Chande code below this line
function makeMessage(pizzaName, callback) {
  return "Pizza Royal Grand is being prepared, please wait...";
  callback();
}
makeMessage("Ultracheese", deliverPizza);

Ответы

▲ 2

Вот ссылка думаю будет полезно почитать https://learn.javascript.ru/function-basics#vozvrat-znacheniya. Все что находиться после return не будет выполняться. Функция makeMessage должна возвращать callback c названием пиццы. Ошибка заключалась в функции makeMessage:

function makeMessage(pizzaName, callback) {
  return "Pizza Royal Grand is being prepared, please wait...";
  callback();
}

Вот правильный вариант:

function deliverPizza(pizzaName) {
  return `Delivering ${pizzaName} pizza.`;
}

function makePizza(pizzaName) {
  return `Pizza ${pizzaName} is being prepared, please wait...`;
  
}

function makeMessage(pizzaName, callback) {
  return callback(pizzaName);
}

makeMessage("Ultracheese", deliverPizza);