State of the World

AMPS State of the World (SOW) allows you to automatically keep and query the latest information about a topic on the AMPS server, without building a separate database. Using SOW lets you build impressively high-performance applications that provide rich experiences to users. The AMPS JavaScript client lets you query SOW topics and subscribe to changes with ease.

Performing SOW Queries

To begin, we will look at a simple example of issuing a SOW query.

const onMessage = message => {
  switch (message.header.command()) {
    case 'group_begin':
      console.log('--- Begin SOW Results ---');
      break;

    case 'sow':
      console.log(message.data);
      break;

    case 'group_end':
      console.log('--- End SOW Results ---');
      break;
  }
};

const queryId = await client.sow(
  onMessage,       // Message handler
  'orders',        // SOW Topic
  '/symbol="ROL"'  // Filter
);

In the example above, we invoke Client.sow() to initiate a SOW query on the orders topic, for all entries that have a symbol of 'ROL'. As usual, the Client.sow() method returns a Promise object that resolves with the query ID.

As the query executes, the message handler function is invoked for each matching entry in the topic. Messages containing the data of matching entries have a Command of value sow, so as those arrive, we write them to the console.

Last updated