In this chapter, you learned quite a few things. We've taken our worlds and made them truly interactive by building web service calls that consume JSON APIs. We've seen a few ways to obtain data and used the more or less built-in fetch statement. These API calls are now asynchronous, so we can look around our world and admire Mars while the camera data we're asking for is loading.
We've seen how to build secure worlds by handling cross-site scripting issues. We've created justified text and built conditional rendering. We've also discussed error handling.
Doing all of this takes some time, and we've had a few times where during development we spent hours trying to line up objects. I got shut down a few times because I was exceeding the DEMO_KEY number of retrievals during one hour. That's why I recommend that you get your own API...