Ответы пользователя по тегу Node.js
  • Точное время на сервере с интервалом в 1 секунду?

    Вы неправильно выбрали технологию (асинхронным "молотком" пытаетесь синхронизировать "гвозди").
    Современные системы достаточно хорошо научились синхронизировать время, вот пусть ОС и занимается этим.

    ps. Учтите, что функции "отложенного" вызова работают не точно. Вызов (setTime(fn, 100)) может произойти через 100 м.с. или через 1200 (это зависит от загруженности основного цикла node.js).
    Ответ написан
    Комментировать
  • Как в node.js вернуть значение из функции, внутри которой используются асинхронные функции?

    warwar_dp
    @warwar_dp Автор вопроса
    developer
    Похоже тут не остается вариантов.
    Только писать свою структуру, которая хранит необходимые данные, эти данные использовать в синхронных функциях, а обновление данных, используя асинхронные функции, вести периодически.

    Упрощенный пример.
    const Redis = require('ioredis');
    redis = new Redis();
    
    var default_time = '2016-01-01 00:00:00+00:00';
    
    function getLastTime() {
      return default_time;
    }
    
    setInterval(function() {
      redis.get('redis_key', function (err, result) {
        if (err === null) {
          default_time = result;
        }
      });
    }, 100);
    
    console.log(getLastTime());
    Ответ написан
    Комментировать
  • Как запустить второй NodeJS сервер на субдомене VPS?

    Дело в том, что для сервера необходима связка IP:port.
    Для http сервера нам необходим 80 порт (забудем для простоты про httpS).

    Так нам необходимо либо дополнительный IP либо что-то, что умеет разбирать имя из URL и проксировать запросы. Смотрим в сторону nginx или чего-то подобного.
    А node.js'ы уже будут жить на локальных адресах/других портах, например, 127.0.0.1:81 и real_ip:81

    ps. При использовании nginx можно будет статику сразу отдавать, да и много чего еще интересного.
    Ответ написан
    3 комментария