So I recently discovered async/await in C#:
https://msdn.microsoft.com/en-us/library/vstudio/Hh191443%28v=VS.110%29.aspx
async is a modifier specifying a function which runs in a separate thread, and you use the await operator to pause execution of that method until the called method returns. It's basically like what a Promise is in JS, but better integrated because it's part of the language. C# is awesome.