As long as the sync function is really sync, i.e. no other node.js code can run while it's waiting for the data, then there's no way to make it async. The current implementation does provide callback compatibility, but naming it "async" looks like a big lie.
Thanks to @joepie91 for pointing out this bug on IRC.