JSFiddle - React, Tailwind, and code Playground

by chiragvidani

HTML

Input value: <input type="text" id="txtInput" />
<button id="btnInvokePromise">Invoke Promise</button>

JavaScript

function promise1(inputValue) {
  var deferred = new $.Deferred();
  if (inputValue) {
    promise2(inputValue).done(function(e) {
      alert(e);
      deferred.resolve("Return from promise 1: resolved");
    })
  } else {
    deferred.reject("Return from promise 1: rejected");
  }
  return deferred.promise();
}

function promise2(inputValue) {
  var deferred = new $.Deferred();
  if (inputValue) {
    deferred.resolve("Return from promise 2: resolved");
  } else {
    deferred.reject("Return from promise 2: rejected");
  }
  return deferred.promise();
}

$(function() {
  $("#btnInvokePromise").click(function() {
    promise1($("#txtInput").val()).done(function(e) {
      alert(e);
    }).fail(function(e) {
      alert("Result from pomise 1: failed");
    });
    $("#txtInput").val('');
  });
})