Итак, у меня есть этот проект для школы, который посвящен "триггерам" для социальных сетей.
Позвольте мне объяснить: - Пользователь может зарегистрироваться для нашего приложения и войти в систему - Он может войти в систему для нескольких служб, таких какFacebook, Twitter и т. Д. - это то, что мы называем триггерами, как только он войдет в наше приложение и зарегистрирует свои сервисы, каждый раз, когда он будет публиковать что-то в твиттере, например, мой сервер будет это видеть и публиковать в Facebook, а также.
Я ничего не знал о node.js месяц назад, поэтому я немного новичок во всех этих асинхронных вещах, но я взял некоторый курс, чтобы помочь себе.Пока все хорошо, что теперь я могу управлять пользователями и т. Д. (Я снова провел небольшое исследование, касающееся oauth).
Моя самая большая проблема - это обновление в режиме реального времени на нашем сервере.Я имею в виду, что искал в интернете и увидел то, что мы называем опросом (?), Идея часто делать запросы к серверу каждые X секунд.
Так что с небольшим количеством кода sudo это, как я думал, будетвыглядит примерно так:
For each User
asynchronously watch for every update on Facebook and Twitter for
this User
Итак, я провел некоторое исследование о выполнении запросов каждую секунду и обнаружил, что setInterval и setTimeout
const watchSocialMedia = setInterval(function(){
Users.forEach(user => {
User.watchAndPostAnyNewPost() //
}
}, 60000);
Поэтому для иллюстрации приведу несколько фиктивных данных.Проблема в том, что я не думаю, что это будет сделано асинхронно?
Я имею в виду, что в идеале я бы мог поставить один раз для каждого пользователя «наблюдатель», как сказать
For each User
User.watchAndPostAnyNewPost()
, где watchAndPostAnyNewPost () выглядит следующим образом
class User () {
...
const watchAndPostAnyNewPost = setInterval(function(){
fetchFacebook();
fetchTwitter();
}, 60000);
}
Таким образом, у каждого пользователя есть своя собственная функция setInterval, запускающая его, чтобы проверить, отправил ли он что-нибудь
Кто-нибудь может сказать мне, если это вообще возможно?: -)
Спасибо, что читаете меня !!!