1.0.46 • Published 2 years ago
mqtt-async v1.0.46
mqtt-async
A simple way to convert the MQTT.js library to use async/await. No dependecies. Just a simple function. This is a different approach than the async-mqtt library which encapsulates MQTT.
Create an MQTT instance as normal. Then just call MqttAsync().
const Mqtt = require('mqtt');
const MqttAsync = require('mqtt-async');
let mqtt = MqttAsync(Mqtt.connect(...));
await mqtt.subscribe('topic');
await mqtt.publish('topic', 'Hello');
This is the complete source code. Nothing more. Just copy it into your project or use this module.
module.exports = function MqttAsync(client) {
let subscribe = client.subscribe;
let publish = client.publish;
let unsubscribe = client.unsubscribe;
let end = client.end;
client.publish = (...args) => {
return new Promise((resolve, reject) => {
publish.call(client, ...args, (error) => {
error ? reject(error) : resolve();
});
});
}
client.subscribe = (...args) => {
return new Promise((resolve, reject) => {
subscribe.call(client, ...args, (error) => {
error ? reject(error) : resolve();
});
});
}
client.unsubscribe = (...args) => {
return new Promise((resolve, reject) => {
unsubscribe.call(client, ...args, (error) => {
error ? reject(error) : resolve();
});
});
}
client.end = (...args) => {
return new Promise((resolve, reject) => {
end.call(client, ...args, (error) => {
error ? reject(error) : resolve();
});
});
}
return client;
}
1.0.46
2 years ago
1.0.44
2 years ago
1.0.43
2 years ago
1.0.42
2 years ago
1.0.41
2 years ago
1.0.39
2 years ago
1.0.38
2 years ago
1.0.36
2 years ago
1.0.34
2 years ago
1.0.33
2 years ago
1.0.32
2 years ago
1.0.30
2 years ago
1.0.28
2 years ago
1.0.26
2 years ago
1.0.24
2 years ago
1.0.22
2 years ago
1.0.20
2 years ago
1.0.18
2 years ago
1.0.16
2 years ago
1.0.14
2 years ago
1.0.12
2 years ago
1.0.11
2 years ago
1.0.9
2 years ago
1.0.8
2 years ago
1.0.7
2 years ago
1.0.5
2 years ago
1.0.3
2 years ago
1.0.1
2 years ago