Hatalar
RoomAdmissionError, başlangıcın fırlatabileceği hatalar ve yeniden deneme yöntemi.
Ball2D servisi bir odayı reddettiğinde createRoom(), bir RoomAdmissionError ile reddedilir. Diğer başlangıç hataları sıradan hatalardır: bozuk bir anahtar bir TypeErrordur, geçersiz bir ayar onu adlandıran bir Errordur ve yavaş bir başlangıç bir TimeoutErrordur. Tam bir yeniden deneme stratejisi için Hatalar ve yeniden denemeler'e bakın.
İçe aktarmaball2dball2d/node
import { createRoom, RoomAdmissionError } from 'ball2d/node';
try {
await createRoom(config);
} catch (error) {
if (
error instanceof RoomAdmissionError &&
error.status === 429
) {
await sleep((error.retryAfterSeconds ?? 60) * 1000);
} else throw error;
}status
error.status: numberServisin döndürdüğü HTTP durumu.
| Durum | Anlam | Ne yapmalı |
|---|---|---|
400 | Oda ayarları reddedildi. | Ayarları düzeltin; yeniden denemek işe yaramaz. |
401 | API anahtarı geçersiz, süresi dolmuş veya iptal edilmiş. | Yeni bir anahtar oluşturun. |
403 | Anahtar oda oluşturamıyor olabilir veya istek reddedilen bir kaynaktan geldi. | Anahtarı ve serviceOrigin'i kontrol edin. |
409 | Yeniden denenen bir istek ayarlarını değiştirdi. | Yeni bir createRoom() çağrısı başlatın. |
410 | Rezervasyon veya yetkilendirme, oda açılmadan önce sona erdi. | Yeni bir createRoom() çağrısı başlatın. |
429 | Bir oda sınırı veya istek kotası tükendi. | retryAfterSeconds kadar bekleyin veya çalışan bir odayı kapatın. |
503 | Servis geçici olarak kullanılamıyor. | Bekleyerek yeniden deneme uygulayın. |
message, servisin bir açıklaması olduğunda onu taşır, örneğin This API key already has an active room. (429). 401 için her zaman API key is invalid, expired or revoked. Create a key from your Ball2D account.dur, ve sunucu hataları için Room creation failed (<status>)dir.
retryAfterSeconds
error.retryAfterSeconds: number | nullServisin Retry-After başlığından alınan, yeniden denemeden önce beklenecek saniye sayısı. 429 yanıtları için ayarlanır (şu anda her zaman 60) ve diğer durumlarda nulldır.