JSFiddle - React, Tailwind, and code Playground

by LyndseyB

JavaScript

function AddressBook() {
  this.initialised = false;
  this.setup = function(callback) {
    setTimeout(() => {
      this.initialised = true;

      if (callback) {
        callback();
      }
    }, 3);
  }
}

var addressBook = new AddressBook();
addressBook.setup(() => {
  console.log(addressBook.initialised);
});

function FactoryAddressBook() {
  var initialised = false;

  return {
    get initialised() {
      return initialised;
    },
    setup: function(callback) {
      setTimeout(() => {
        initialised = true;

        if (callback) {
          callback();
        }
      }, 3);
    }
  };
}

var factoryAddressBook = FactoryAddressBook();
factoryAddressBook.setup(() => {
  console.log(factoryAddressBook.initialised);
});