问题遇到的现象和发生背景
当手动关闭mqtt连接时,也就是手动调用 mqttClient.end,传入一个回调,当end执行完毕(mqtt连接被关闭时)回调触发,但是实际情况是:end方法执行完之后,连接并没有被关闭,mqtt源码中指示正在关闭disconnecting==true,而connected==true,也就是说,end方法执行完后,连接并没有被及时关闭,连接依然处于正常状态。
我的解答思路和尝试过的方法
我尝试过在源码中手动将disconnecting改为false,connected手动改为false,此时并没有起到实际上的作用,但是回调被正常触发了,mqtt.js并没有给出end方法执行失败的回调,或者其他情况的回调
我想要达到的结果
希望end方法执行后立即关闭mqtt连接或者阻塞程序直到mqtt连接被关闭