Check out this post by @TobiasOhlsson. This should be an answer to what you're looking for. The way he went about it has totally changed how handle all my promises and possible failures. Big Kudos to him!