{"json_modified": "2016-03-28T08:43:20.347955", "uuid": "f85d54be-8132-401f-9206-59f0359c79e4", "title": "Promises", "url": "/en-US/docs/Mozilla/Add-ons/Techniques/Promises", "tags": ["Examples", "Add-ons", "async", "Snippets", "add-ons"], "translations": [], "modified": "2016-02-07T21:17:22", "label": "Promises", "localization_tags": [], "locale": "en-US", "id": 136097, "last_edit": "2016-02-07T21:17:20", "summary": "Due to the performance and stability costs of synchronous IO, many APIs which rely on it have been deprecated. The following page contains examples of many Promise-based replacement APIs for common operations. These APIs allow asynchronous operation to be achieved with a coding style similar to synchronous variants.", "sections": [{"id": "Quick_Links", "title": null}, {"id": "Promise_APIs_for_Common_Asynchronous_Operations", "title": "Promise APIs for Common Asynchronous Operations"}, {"id": "File_IO", "title": "File IO"}, {"id": "Representative_Example_Usage", "title": "Representative Example Usage"}, {"id": "HTTP_Requests", "title": "HTTP Requests"}, {"id": "Example_Direct_Usage", "title": "Example Direct Usage"}, {"id": "Example_Using_Promise-Based_Helper", "title": "Example Using Promise-Based Helper"}, {"id": "Downloading_Remote_Files", "title": "Downloading Remote Files"}, {"id": "Representative_Example_Usage_2", "title": "Representative Example Usage"}, {"id": "SQLite", "title": "SQLite"}, {"id": "Representative_Example_Usage_3", "title": "Representative Example Usage"}, {"id": "Promise_Wrappers_and_Helpers", "title": "Promise Wrappers and Helpers"}, {"id": "AddonManager", "title": "AddonManager"}, {"id": "JSON_File_Storage", "title": "JSON File Storage"}, {"id": "XMLHttpRequest", "title": "XMLHttpRequest"}], "slug": "Mozilla/Add-ons/Techniques/Promises", "review_tags": []}