title: Wait for asynchronous function to finish without adding callback
body: <p>I'm writing tests for my Node.js/Express/Mongoose project using Mocha and Should.js, and I'm testing out my functions that access my MongoDB. I'm want these tests to be completely independent from the actual records in my database, so I want to create an entry and then load it, and do all my tests on it, then delete it. I have my actual functions written (I'm writing tests after the entire project is complete) such that the <code>create</code> function does not have a callback; it simply just renders a page when it's done. In my tests script, I call my <code>load_entry</code> function after I call <code>create</code>, but sometimes <code>create</code> takes longer than usual and thus <code>load_entry</code> throws an error when it cannot actually load the article since it has yet to be created. Is there any way to make sure an asynchronous function is finished without using callbacks? </p>
  
  <p>Please let me know if there is any more info I can provide. I looked all over Google and couldn't find anything that really answered my question, since most solutions just say "use a callback!" </p>