JSFiddle - React, Tailwind, and code Playground

JavaScript

function failOrSucceed(t, type) {
  return $.Deferred(function(d) {  
    setTimeout(function() {    
      d[type](type === "reject" ? new Error(type +"ed jQuery promise") : type + "d jQuery promise")
    })
  }, t).then(function(result) {  
    return result
  })
}

$.when(failOrSucceed(1000, "reject"), failOrSucceed(900, "resolve"))
.then(function(a, b) {
  console.log(a, b)
}, function err(e) {
  console.log(e)
});

$.when(failOrSucceed(2000, "resolve"), failOrSucceed(2100, "resolve"))
.then(function(a, b) {
  console.log(a, b)
}, function err(e) {
  console.log(e)
})