İçeriğe atla

Hatalar ve türler

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

JavaScript
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

özellik
error.status: number
salt okunur

Servisin döndürdüğü HTTP durumu.

DurumAnlamNe yapmalı
400Oda ayarları reddedildi.Ayarları düzeltin; yeniden denemek işe yaramaz.
401API anahtarı geçersiz, süresi dolmuş veya iptal edilmiş.Yeni bir anahtar oluşturun.
403Anahtar oda oluşturamıyor olabilir veya istek reddedilen bir kaynaktan geldi.Anahtarı ve serviceOrigin'i kontrol edin.
409Yeniden denenen bir istek ayarlarını değiştirdi.Yeni bir createRoom() çağrısı başlatın.
410Rezervasyon veya yetkilendirme, oda açılmadan önce sona erdi.Yeni bir createRoom() çağrısı başlatın.
429Bir oda sınırı veya istek kotası tükendi.retryAfterSeconds kadar bekleyin veya çalışan bir odayı kapatın.
503Servis 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

özellik
error.retryAfterSeconds: number | null
salt okunur

Servisin 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.