PubSub - Javascript
- PubSubone of the property of a Meeting Class is used for messaging purpose for an ongoing meeting
Methods
publish()
- 
publish()is used to publish messages on a specified topic in the meeting.
- 
While publishing message, if you provide persistastrue, then it will persist the message throughout the meeting and newly joined participant will get all old messages of a meeting, otherwise not.
Parameters
- 
topic : - type : String
 
- type : 
- 
message : - type: String
 
- type: 
- 
persist : - type : Boolean
 
- type : 
- 
payload : - type : Object
 
- type : 
Returns
- void
Example
const topic = "CHAT";
const _handlePublishChat = (message) => {
  //
  meeting.pubSub.publish(topic, message, { persist: true });
};
_handlePublishChat("Hello world!");
subscribe()
- subscribe()is used to subscribe a particular topic to get all the messages of that particular topic in the meeting. While- publish()subscribe callback will be invoked.
Parameters
- 
topic : - type : String
- Participants can listen to messages on that particular topic.
 
- type : 
- 
callback : - type : function
- in callback you will get newMessageobject which contains Pubsub message data
 
- type : 
Returns
- 
This will return old messages for this topic, if you passed persisttotruewhile publish
- 
Array<message> 
Example
const topic = "CHAT";
const _handleChat = (newMessage) => {
  //
  console.log(newMessage);
};
const _handleSubscribePubSub = async () => {
  let oldMessages = await meeting.pubSub.subscribe("CHAT", _handleChat);
  console.log(oldMessages);
};
unsubscribe()
- unsubscribe()is used to unsubscribe a particular topic on which you have subscribed priviously.
Parameters
- 
topic : - type : String
- callback : function
 
- type : 
- 
listener : function
Returns
- void
Example
const topic = "CHAT";
// same handler used for meeting.pubSub.subscribe()
const _handleChat = (newMessage) => {
  //
  console.log(newMessage);
};
const _handleUnsubscribePubSub = async () => {
  meeting.pubSub.unsubscribe("CHAT", _handleChat);
};
Pubsub message data
message
- 
type : String
- 
Message that has been published on the specific topic. 
senderId
- 
type : String
- 
id of a sender who has published this message. 
senderName
- 
type : String
- 
Name of a sender who has published this message. 
timestamp
- 
type : DateTime
- 
Timestamp of when a message has been published. 
topic
- 
type : String
- 
Name of the topic. 
payload
- 
type : Object
- 
The additional data that you have send with message. 
Got a Question? Ask us on discord

