JavaScript WebSocket.readyState — стан з'єднання
Властивість readyState показує стан з'єднання — числом від 0 до 3.
Загальний опис
Значення мають іменовані константи, і користуватись треба саме ними, а не числами:
WebSocket.CONNECTING(0) — встановлюється;WebSocket.OPEN(1) — готове, можна слати;WebSocket.CLOSING(2) — закривається;WebSocket.CLOSED(3) — закрите.
Перевірка на OPEN перед кожним send() — обов'язкова дисципліна: з'єднання може обірватись між двома рядками коду, і ти про це не дізнаєшся.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 5 | 7 | 5 | 12.1 | 12 | 10 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 7 | 4.2 |
| Переглядач | ||
|---|---|---|
| 22.0.0 | 1.4 |
Приклади
+ запропонувати свій приклад у пісочниці
Черга повідомлень на час, поки з'єднання не готове.
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()));
}
};
Коментарі
Коментарів ще немає — будьте першим!