Задать вопрос
@Hellas

Что означает следующая строчка в nodejs скрипте?

callback = callback || function() {};

User.updateLastOnlineTime = function(uid, callback) {
		callback = callback || function() {};
		db.getObjectFields('user:' + uid, ['status', 'lastonline'], function(err, userData) {
			var now = Date.now();
			if (err || userData.status === 'offline' || now - parseInt(userData.lastonline, 10) < 300000) {
				return callback(err);
			}
			User.setUserField(uid, 'lastonline', now, callback);
		});
	};
  • Вопрос задан
  • 252 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
maximpushkarev75
@maximpushkarev75
Very bad monkey coder
если функция callback не задана как параметр при вызове updateLastOnlineTime, то внутри updateLastOnlineTime будет проинициализирована новой пустой функцией.

но лучше бы проверку, что callback реально является функцией, а не другим объектом, к примеру. вот как-то так:

function isFunction(fn) {
        var obj= {};
        return fn && obj.toString.call(fn) === '[object Function]';
}

callback = isFunction(callback) || function() {};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы