operation doesn't complete on beforeUnload

Shmuel Kamensky
edited November 2, 2017 in Questions
When adding a  function to window.unload, the save() does not complete on the server side. I tested the code in the console outside of the unload function, and the save completes as expected.

I noticed that the jQuery deferred promise object returned by the mode save function remains in a 'pending' state forever. Why would this be?

Is there a fix?

Code is below if you want to reproduce the issue.

(function(skuid){ var $ = skuid.$;

function removeUnfinishedRows(){
    var rowsToCheck = skuid.model.getModel('SubmissionsForSelectedBanks');
    var rowsToCheckData =;
    //cancel changed since save() needs to be called in order to delete rows.
    //if save is called and changes aren't cancelled, some unintended changes may occur.
    //iterate thru each submission in the model that creates submissions and make sure that they've been sent
    //if they haven't been sent, mark them for deletion
            rowToCheckTemp = rowsToCheckData[index];
                rowsToCheck.deleteRow({ Id: rowToCheckTemp.Id });
    savePromise =;
    console.log(savePromise); //this prints 'pending'
//only uncomment if you want your tab to crash. This while loop goes on forever
        //do nothing... wait until promise is done failing or resolving


Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!