В настоящее время я использую Microsoft Graph API (бета) для получения статуса присутствия , например, в сети, вдали и т. Д. c. в веб-части spfx (используя React) с использованием GraphClient:
this.props.context.msGraphClientFactory.getClient().then(async (client: MSGraphClient) => {
let response = await client
.api('/communications/getPresencesByUserId')
.version('beta')
.post(postData)
console.log("Communication API Response: "+ response);
this.usersWithPresence = response.value;
});
Это работает нормально, но чтобы получить обновленный статус пользователя, мне нужно обновить sh страницу, чтобы сделать еще один вызов API и обновить статус присутствия. Я хочу сделать это так, как это происходит в 'Skype' .
Что мне нужно, так это предложения о механизме, который я могу применять для получения обновлений статуса присутствия пользователя в реальном времени, так что, как только пользователь обновляет статус, это отражается на моей веб-части. Я знаю, что могу использовать функции setInterval
или setTimeout
для запроса статуса присутствия через определенные интервалы c, но в целях обучения я не хочу запрашивать API снова и снова, а скорее получать обновленное сообщение с сервера, как это происходит с использованием веб-сокетов . Как с помощью этого API можно применять такие вещи, как веб-сокеты?
Ваши предложения приветствуются.