in lib/producer.js [158:195]
send(topic, body, options, callback) {
assert(typeof topic === "string");
assert(typeof body === "string" || Buffer.isBuffer(body));
if(typeof options === "function") {
callback = options;
options = {};
}
options = options || {};
let promise;
let resolve;
let reject;
if(!callback) {
promise = new Promise((_resolve, _reject) => {
resolve = _resolve;
reject = _reject;
});
}
this.core.send(topic, body, options, function sendMessageCallback(err, status, msgId, offset) {
if(err) {
if(!callback) return reject(err);
return callback(err);
}
const ret = {
status,
statusStr: SEND_RESULT_STATUS_STR[status] || "UNKNOWN",
msgId,
offset
};
if(!callback) return resolve(ret);
callback(undefined, ret);
});
if(promise) return promise;
}