How many times have you written code like this in Java/TypeScript?
function saveData() { const self = this; $.post("/api/foo", function (response) { self.updated(true); } }
The self
variable is used to keep a reference to the real calling object so that, when the callback is executed, it can actually call back to the parent (if you used this
, then its value would change as the callback executes).
Enter async! Suddenly, you can write:
function saveData() { await $.post("/api/foo"); this.updated(true); }
That’s an awful lot of lines that you’ve just saved across your codebase!