aws-mqtt
Version:
AWS IoT MQTT broker client
30 lines (26 loc) • 703 B
JavaScript
const NodeClient = require('./NodeClient')
// Connect to broker, publish message to a topic and then disconnect
const publishMessage = (options, topic, message) =>
new Promise((resolve, reject) => {
const client = new NodeClient(options)
client.once('connect', () => {
client.publish(topic, message, {}, err => {
if (err) {
client.end()
reject(err)
} else {
client.end()
resolve()
}
})
})
client.once('error', err => {
client.end()
reject(err)
})
client.once('offline', () => {
client.end()
reject(new Error('MQTT went offline'))
})
})
module.exports = publishMessage