当我试图从我的Nest.js后端发送字符串时,它正在将字符串包装成JSON对象。因此,我得到一个对象,而不是一个普通的字符串。因为我不能改变接收者的代码,所以我只需要将其作为一个纯字符串发送。
:
import { ClientProxy, MessagePattern } from '@nestjs/microservices';
<<p>内部构造函数/strong>:@Inject('MQTT_CLIENT') private _mqtt: ClientProxy,
内函数:
this._mqtt.emit<any,string>('xyz/ABC', packet.toString()).toPromise();
发送报文:" sfdksjhfoyoasoioudoiasoiiusoida& quot;
包收到:
{
"pattern": "xyz/ABC",
"data": "sfdksjhfoyoasoiuoudoiuasoidoiaiusoida"
}
收件方需要的包:" sfdksjhfoyoasoioudoiuusoida& quot;
这是不可能的,MQTT将同时发送模式和数据,您可以使用Dot Notation
提取您需要的属性。