Function is now asynchronous, even when there are no matches.

You and I made the exact same mistake: the function acted in a synchronous manner if there are no matches.

See http://nodejs.org/api/process.html#process_process_nexttick_callback