JavaScript WebSocket.readyState — стан з'єднання
Властивість readyState показує стан з'єднання — числом від 0 до 3.
Загальний опис
Значення мають іменовані константи, і користуватись треба саме ними, а не числами:
WebSocket.CONNECTING(0) — встановлюється;WebSocket.OPEN(1) — готове, можна слати;WebSocket.CLOSING(2) — закривається;WebSocket.CLOSED(3) — закрите.
Перевірка на OPEN перед кожним send() — обов'язкова дисципліна: з'єднання може обірватись між двома рядками коду, і ти про це не дізнаєшся.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| readyState | 16+ | 11+ | 7+ | 12.1+ | 12+ | 10+ |
| Переглядач | ||||
|---|---|---|---|---|
| readyState | 4.4+ | yes | yes | 6+ |
Приклади
+ запропонувати свій приклад у пісочниці
Черга повідомлень на час, поки з'єднання не готове.
const socket = {
onopen: 'значення',
readyState: 'значення',
send: 'значення'
};
const queue = [];
function send(message) {
if (socket.readyState === WebSocket.OPEN) {
socket.send(JSON.stringify(message));
return;
}
// ще не готове — чекає в черзі
queue.push(message);
}
socket.onopen = () => {
// відкрилось — розвантажуємо чергу
while (queue.length > 0) {
socket.send(JSON.stringify(queue.shift()));
}
};
Коментарі
Коментарів ще немає — будьте першим!