Напишите функцию один раз, которая принимает обратный вызов в качестве ввода и возвращает функцию. Когда возвращаемая функция вызывается в первый раз, она должна вызвать обратный вызов и вернуть этот вывод. Если он вызывается в любое дополнительное время, вместо повторного вызова обратного вызова он просто вернет выходное значение с момента первого вызова.
Помогите! Я получил ошибку, такую как синтаксическая ошибка. Недопустимая инструкция возврата. Я застрял при написании закрытия для этой задачи выше, и вот мой код:
function once(func) {
var called = 0,result;
function inner(num){
if(!result && called <2){
called++;
result = func(num);
return result;
}else{
return result;
}
}
}
return inner;
}