Are there promises on Google Apps Script?

Indeed, the JS engine used by Google Apps Script does not support promises (Logger.log(Promise); shows it's undefined).

To make sure that spreadsheet changes take effect before proceeding further, you can use SpreadsheetApp.flush().

Another relevant feature is event object passed by the trigger on Form Submit: it delivers the submitted data to the script without it having to fish it out of the spreadsheet.


Now with engine v8 Promise is defined object


There are no native Promises in GAS. With that said you can write your code in ES6/ESnext and make use of promises that way. To see how you can configure modules to expose the to the global scope see my comment here.

By doing this you can take advantage of promises. With that said depending on the size of your project this may be overkill. In such a case I'd advise using simple callbacks if possible.