Everything applies to request-promise-native except the following:
Instead of using Bluebird promises this library uses native ES6 promises.
Mind that native ES6 promises have fewer features than Bluebird promises do. In particular, the .finally(...) method is not available.
And for somebody unfamiliar with Bluebird promises, it is not immediately obvious that native Promises do not support targeted catch blocks. Somebody (like me) might just think it's a little-known feature of Promises and end up banging their head on things until they eventually find this:
https://github.com/request/request-promise-native/issues/15#issuecomment-337323946
The README says:
And for somebody unfamiliar with Bluebird promises, it is not immediately obvious that native Promises do not support targeted catch blocks. Somebody (like me) might just think it's a little-known feature of Promises and end up banging their head on things until they eventually find this: https://github.com/request/request-promise-native/issues/15#issuecomment-337323946