mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Add Force parameter mqtt client.end() when called in disconnect
This commit is contained in:
		@@ -765,11 +765,23 @@ module.exports = function(RED) {
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
                callback && typeof callback == "function" && callback();
 | 
					                callback && typeof callback == "function" && callback();
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            if(node.closing) {
 | 
					            if(!node.client) { return _callback(); }
 | 
				
			||||||
                return _callback(false, force);
 | 
					            if(node.closing) { return _callback(); }
 | 
				
			||||||
            }
 | 
					
 | 
				
			||||||
            var endCallBack = function endCallBack() {
 | 
					            let waitEnd = (client, ms) => {
 | 
				
			||||||
            }
 | 
					                return new Promise( (resolve, reject) => {
 | 
				
			||||||
 | 
					                    node.closing = true;
 | 
				
			||||||
 | 
					                    if(!client) { 
 | 
				
			||||||
 | 
					                        resolve();
 | 
				
			||||||
 | 
					                     } else {
 | 
				
			||||||
 | 
					                         const t = setTimeout(reject, ms);
 | 
				
			||||||
 | 
					                         client.end(true, () => {
 | 
				
			||||||
 | 
					                             clearTimeout(t);
 | 
				
			||||||
 | 
					                             resolve()
 | 
				
			||||||
 | 
					                         });
 | 
				
			||||||
 | 
					                     }
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
            if(node.connected && node.closeMessage) {
 | 
					            if(node.connected && node.closeMessage) {
 | 
				
			||||||
                node.publish(node.closeMessage, function (err) {
 | 
					                node.publish(node.closeMessage, function (err) {
 | 
				
			||||||
                    node.client.end(endCallBack);
 | 
					                    node.client.end(endCallBack);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user