#javascript #callback
Вопрос:
я понимаю, что обратные вызовы получают возвращаемые данные как неопределенные.
function goodMorning(name, msg) {
return `${name} ${msg}`;
}
function greet(name, msg, cb) {
const myName = "Sairam";
console.log(`${cb(name)} ${cb(msg)} i am ${myName}`);
}
greet("Suvarna", "Good Morning", goodMorning);
В приведенном выше коде я передавал функцию goodMorning в качестве обратного вызова в методе приветствия, в то время как консольное ведение журнала возвращало данные с неопределенными.
Пожалуйста, нажмите здесь, чтобы просмотреть сообщение консоли
Комментарии:
1. Ваш обратный вызов имеет 2 параметра, и вы вызываете его только с одним, поэтому ${msg} (в доброе утро) не определен
Ответ №1:
cb (goodMorning)
это функция, которая получает два аргумента, но вы передаете только один, вы должны сделать:
${cb(name, msg)}
В настоящее время вы вызываете cb только с одним аргументом вместо двух, поэтому второй получает undefined
Комментарии:
1. Спасибо за ваш ответ, Ариэль, в консоли функций приветствия я дважды передал его имя и msg.
2. вам нужно вызвать функцию с двумя аргументами вместо того, чтобы вызывать ее дважды с 1 параметром каждый раз