43 lines
1.0 KiB
Markdown
43 lines
1.0 KiB
Markdown
# Module `rpc`
|
|
|
|
Ce module permet de déclarer des méthodes côté serveur qui seront "invoquable" côté client via la méthode [`Edge.Client.rpc(method: string, params: Object): Promise`](../client-api/README.md#edgerpcmethod-string-params-object-promise).
|
|
|
|
## Méthodes
|
|
|
|
### `rpc.register(name: string, cb?: Function): void`
|
|
|
|
Marque une fonction comme étant appelable par le client.
|
|
#### Arguments
|
|
|
|
- `name` **string** Le nom de la fonction telle qu'elle sera appelable par le client. Si `cb` n'est pas spécifié, la fonction portant le même nom est utilisée.
|
|
- `cb` **Function** Référence de la fonction à exécuter.
|
|
|
|
#### Valeur de retour
|
|
|
|
Aucune
|
|
|
|
#### Usage
|
|
|
|
```js
|
|
function onInit() {
|
|
rpc.register("echo", echo);
|
|
}
|
|
|
|
function echo(ctx, params) {
|
|
return params;
|
|
}
|
|
```
|
|
|
|
**Côté client**
|
|
|
|
```js
|
|
Edge.Client.connect().then(() => {
|
|
Edge.Client.rpc("echo", { hello: "world!" })
|
|
.then(result => console.log(result))
|
|
.catch(err => console.error(err));
|
|
});
|
|
```
|
|
|
|
### `rpc.unregister(name: string): void`
|
|
|
|
> `TODO` |