This summary from dartlang.org for learning purpose
Optional named parameters
The best way to think of Promises is that they bring keywords like return and try/catch to asynchronous code.
return
try/catch