async function pullMessages()

in reference-architectures/cloud_deploy_flow/WebsiteDemo/index.js [30:52]


async function pullMessages(pubSubClient, subscriptionName) {
  const subscription = pubSubClient.subscription(subscriptionName);

  const messageHandler = (message) => {
    console.log(`Received message ${message.id}:`);
    console.log(`\tData: ${message.data}`);
    console.log(`\tAttributes: ${JSON.stringify(message.attributes)}`);

    messages[subscriptionName].push({
      id: message.id,
      data: message.data.toString(),
      attributes: message.attributes,
    });

    message.ack();
  };

  subscription.on('message', messageHandler);

  setTimeout(() => {
    subscription.removeListener('message', messageHandler);
  }, timeout * 1000);
}