wait for promises in onbeforeunload
<p>I want to send a $http.get if the page gets closed. Then I stumbold upon a problem where<br>
promises can't get resolved because if this one last method returns, the page gets destroyed.</p>

<p>The following does not work because onbeforeunload can't resolve promises / does not wait for them:</p>

<pre><code>window.onbeforeunload = function(
    $http.get('http://someth.ing/update-state?page=unloaded').then(function(){
        // never called... never sent...
    }

}
</code></pre>

<p>I know, you can use default sync HTTP Methods but the question is generally how could we sync/wait for promises to resolve here. </p>

<p>My idea would be something like this:</p>

<pre><code>window.onbeforeunload = function(){
    var ready = false;

    $http.get('http://someth.ing/update-state?page=unloaded').then(function(){
         ready=true;
    }

    // I don't see any other opportunity to sync a promise here than this:
    while(!ready) angular.noop();
    // big question: did $http call the server now? Can we finally return in this method to let the browser 'exit' the page?
}
</code></pre>

<p>RFC</p>