Задать вопрос
@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);
		});
	};
  • Вопрос задан
  • 251 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 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() {};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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