In my application (and a separate test program) it seems as though the cancel() function on the resolver does not work as intended. For async resolves, the cancel functionality should abort them immediately and pass an 'operation aborted' error code to the callback handler.
 
In my tests, I will resolve an invalid domain (this causes the resolve to take a few seconds, to demonstrate the problem), sleep for 100ms, then call cancel on the resolver object. No cancelling actually occurs, and the callback is simply triggered after a few seconds with a "No host found" error code, not the expected operation aborted.
 
Has anyone experienced this before, or know how I might be using the resolver incorrectly?