← Cloudflare Workers / workers / runtime-apis / rpc
Vyhrazené metody
Některé názvy metod jsou vyhrazené nebo mají zvláštní význam.
Speciální metody
Kvůli zpětné kompatibilitě při rozšiřování WorkerEntrypoint nebo DurableObject, následující názvy metod mají zvláštní sémantiku. Upozorňujeme, že to ne se vztahují na RpcTarget. Na RpcTarget, tyto metody fungují jako jakákoli jiná metoda RPC.
fetch()
fetch() method is treated specially, it can only be used to handle an HTTP request, equivalent to the obslužná rutina fetch.
Můžete implementovat fetch() metodu ve své třídě, která rozšiřuje WorkerEntrypoint, but it must accept only one parameter of type Request ↗, a musí vrátit instanci Response ↗, nebo Promise ↗ jednoho.
Na straně klienta fetch() volané na service bindingu nebo stubu Durable Objectu funguje stejně jako standardní globální fetch(). Volající tedy může předat jeden nebo dva parametry do fetch(). Pokud volající nepředává jednoduše pouze jeden Request objekt, poté nový Request se implicitně vytvoří, parametry se předají jeho konstruktoru a právě tento požadavek se skutečně odesílá na server.
Některé vlastnosti Request řídí chování fetch() na straně klienta a ve skutečnosti se neodesílají na server. Například vlastnost redirect: "auto" (což je výchozí nastavení) nařizuje fetch() že pokud server vrátí přesměrování, mělo by se automaticky následovat, což vede k HTTP požadavku do veřejného internetu. Toto chování opět odpovídá standardu Fetch API. Stručně řečeno, fetch() nemá sémantiku RPC, ale sémantiku Fetch API.
connect()
connect() metoda v rámci WorkerEntrypoint class is reserved for opening a socket-like connection to your Worker. This is currently not implemented or supported, though you can otevřít TCP socket z Workeru nebo se připojit přímo k databázím přes TCP socket pomocí Hyperdrive.
Nepovolené názvy metod
Následující názvy metod (nebo vlastností) nelze použít jako RPC metody u žádného typu RPC (včetně WorkerEntrypoint, DurableObject, a RpcTarget):
dup: Toto je vyhrazeno pro duplikování stubu. Viz Životní cyklus RPC dokumentaci, kde se dozvíte více odup().constructor: Tento název má pro třídy JavaScriptu zvláštní význam. Není určen k volání jako metoda, proto není povolen přes RPC.
Následující metody jsou zakázány pouze u WorkerEntrypoint a DurableObject, ale povoleno na RpcTarget. Tyto metody mají v Durable Objects historicky zvláštní význam, protože se používají ke zpracování určitých systémově generovaných událostí.
alarmwebSocketMessagewebSocketClosewebSocketError