To return data after an asynchronous operation, return a promise.
I just struggled for a few hours trying to resolve some errors about CORS and 500 INTERNAL errors.
This line is a bit misleading.
In trying to get things up and running, I was returning a simple JSON object rather than a Promise. According to what I found, even if you don't have any async work, you still need to return a Promise from your function.