request/promise-core — explained in plain English
Analysis updated 2026-08-08 · repo last pushed 2021-05-21
Write cleaner HTTP request code using .then() and .catch() instead of nested callbacks.
Build a custom request-promise wrapper paired with a specific promise library.
Understand how popular request-promise libraries work under the hood.
| request/promise-core | aaronz345/athena-personal-academic-page | alana72212/akamai-vm | |
|---|---|---|---|
| Stars | 20 | 20 | 20 |
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | 2021-05-21 | — | — |
| Maintenance | Dormant | — | — |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 2/5 | 2/5 | 5/5 |
| Audience | developer | researcher | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires the request library and a compatible ES6 promise implementation, plus careful configuration to avoid double-patching.
When you write JavaScript code that needs to fetch data from a website or API, you typically use a library called "request" to make the HTTP call. Traditionally, that library used callbacks, a style of programming where you pass a function to run once the data arrives. Many modern JavaScript developers prefer "promises," a cleaner pattern that lets you chain actions together with .then() and handle errors with .catch(). This package, request-promise-core, adds that promise-based interface to the request library. At a practical level, the package patches the request library so that calling it returns a promise object instead of requiring a callback. You configure it by passing in your preferred promise implementation (the README notes it should be ES6-compatible), along with a list of which promise methods you want exposed, such as then, catch, and promise. Once configured, you can write something like request('http://example.com').then(handleData).catch(handleError) instead of nesting callback functions. Most developers will not use this package directly. It serves as the shared engine behind several more user-friendly wrapper libraries, request-promise, request-promise-native, request-promise-bluebird, and request-promise-any, each of which pairs this core logic with a specific promise implementation. You would only install and configure request-promise-core yourself if you had very specific requirements that those wrappers don't cover, since the manual setup involves some careful handling of how the request library is loaded to avoid accidentally patching it twice. The project has been maintained with an eye on security, with several releases specifically bumpging its lodash dependency to address known vulnerabilities. The README also notes that it was designed to be compatible with a future version of the request library, though that next version is still in alpha.
Adds promise-based syntax (.then/.catch) to the popular JavaScript "request" library, so you can write cleaner HTTP calls without nested callbacks. Mostly used as the engine behind other wrapper libraries.
Mainly JavaScript. The stack also includes JavaScript, Node.js, npm.
Dormant — no commits in 2+ years (last push 2021-05-21).
The explanation does not mention a specific license for this repository.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.