Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on May 13, 2024. It is now read-only.

Commit c8af95d

Browse files
committed
Update Javascript Documentation “get-country-list/index”
1 parent 038f778 commit c8af95d

File tree

1 file changed

+74
-3
lines changed
  • docs/languages/javascript/get-country-list

1 file changed

+74
-3
lines changed

docs/languages/javascript/get-country-list/index.md

Lines changed: 74 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,42 @@ You can learn more about countries [here](/docs/core-concepts/residence-list)
1717

1818
To get countries list, please update the `open` event listener like so:
1919

20-
```js
20+
```js title="index.js"
21+
const ping_interval = 12000; // it's in milliseconds, which equals to 120 seconds
22+
let interval;
23+
// subscribe to `open` event
2124
websocket.addEventListener('open', (event) => {
2225
console.log('websocket connection established: ', event);
2326
const payload = JSON.stringify({
2427
residence_list: 1,
2528
});
2629
websocket.send(payload);
30+
31+
// to Keep the connection alive
32+
interval = setInterval(() => {
33+
const sendMessage = JSON.stringify({ ping: 1 });
34+
websocket.send(sendMessage);
35+
}, ping_interval);
2736
});
2837
```
2938

3039
Now update the `message` event listener to render the data:
3140

32-
```js
41+
```js title="index.js"
42+
// subscribe to `message` event
3343
websocket.addEventListener('message', (event) => {
3444
const receivedMessage = JSON.parse(event.data);
35-
console.log('get countries response', receivedMessage);
45+
switch (receivedMessage.msg_type) {
46+
case 'residence_list':
47+
console.log('list of countries', receivedMessage.residence_list);
48+
break;
49+
case 'ping':
50+
console.log('ping/pong response: ', receivedMessage.ping);
51+
break;
52+
default:
53+
console.log('received message: ', receivedMessage);
54+
break;
55+
}
3656
});
3757
```
3858

@@ -120,3 +140,54 @@ It's better if you get the list of countries before populating your form.
120140
:::danger
121141
We need detailed content about `IDV` and `ONFIDO` identity services, their differences and possibilities
122142
:::
143+
144+
your final code should be:
145+
146+
```js title="index.js"
147+
const app_id = 1089; // Replace with your app_id or leave as 1089 for testing.
148+
const websocket = new WebSocket(`wss://ws.binaryws.com/websockets/v3?app_id=${app_id}`);
149+
const ping_interval = 12000; // it's in milliseconds, which equals to 120 seconds
150+
let interval;
151+
152+
// subscribe to `open` event
153+
websocket.addEventListener('open', (event) => {
154+
console.log('websocket connection established: ', event);
155+
const payload = JSON.stringify({
156+
residence_list: 1,
157+
});
158+
websocket.send(payload);
159+
160+
// to Keep the connection alive
161+
interval = setInterval(() => {
162+
const sendMessage = JSON.stringify({ ping: 1 });
163+
websocket.send(sendMessage);
164+
}, ping_interval);
165+
});
166+
167+
// subscribe to `message` event
168+
websocket.addEventListener('message', (event) => {
169+
const receivedMessage = JSON.parse(event.data);
170+
switch (receivedMessage.msg_type) {
171+
case 'residence_list':
172+
console.log('list of countries', receivedMessage.residence_list);
173+
break;
174+
case 'ping':
175+
console.log('ping/pong response: ', receivedMessage.ping);
176+
break;
177+
default:
178+
console.log('received message: ', receivedMessage);
179+
break;
180+
}
181+
});
182+
183+
// subscribe to `close` event
184+
websocket.addEventListener('close', (event) => {
185+
console.log('websocket connectioned closed: ', event);
186+
clearInterval(interval);
187+
});
188+
189+
// subscribe to `error` event
190+
websocket.addEventListener('error', (event) => {
191+
console.log('an error happend in our websocket connection', event);
192+
});
193+
```

0 commit comments

Comments
 (0)