-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsample.js
64 lines (56 loc) · 1.39 KB
/
sample.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
const {Consumer, Producer} = require('./src/index');
const consumer = new Consumer();
const producer = new Producer();
/**
* @param {Consumer} con
* @return {Promise<any>} data
*/
function consumerEvent(con) {
return new Promise((resolve, reject) => {
con.onMessage()
.subscribe((data) => {
resolve(data);
console.log('SAMPLE Consumer Data:', data);
});
con.onError()
.subscribe((err) => {
reject(err);
console.log('SAMPLE Consumer Error:', err);
});
console.log('SAMPLE Consumer Connected');
con.onLog()
.subscribe((log) => {
console.log('SAMPLE log', log);
});
});
}
/**
* @param pro
* @return {Promise<DeliveryReport>}
*/
function producerEvent(pro, message) {
return pro.publish(JSON.stringify(message));
}
function main() {
Promise.all([consumer.connect(), producer.connect()])
.then(() => {
return Promise.all([consumerEvent(consumer), producerEvent(producer, {foo: 1, bar: 2})]);
})
.then((data) => {
console.log('DATA', data);
return Promise.all([consumer.disconnect(), producer.disconnect()]);
})
.then(() => {
console.log('Disconnected');
})
.catch((err) => {
console.error('Error', err);
});
}
// main();
module.exports = {
consumer: consumer,
producer: producer,
consumerEvent: consumerEvent,
producerEvent: producerEvent
};