You may find StratifiedJS pleasing: http://onilabs.com/stratifiedjs
You wouldn't even need that one callback, just:
return find_largest(get_stats(read_files(dir)));
Exceptions are propagated as you would expect from synchronous code, despite being async under the hood.