Because when you call this.database.getTeams().then, you’re expecting a promise from getTeams() and currently you’re only returning the value, buuut you have also placed your returns inside of the callback, meaning they would never make the getTeams() return, just the callback.
If you do either of the above, then your first bit of code should work just fine