1. create a script having a redis client object and a "noconnection" listener
2. kill redis
3. run the script - noconnection event fires as expected
4. start redis
5. run the script
6. kill redis
7. script bombs out with an exception thrown and no "noconnection" event
If you remove the "throw e" under the client.maybeReconnect() call in the stream "error" listener, that behaves as expected - a stream of "reconnecting" events followed by a "noconnection" after the maximum reconnect count is reached.