code: function setPromisesDependency(dep) {
      PromisesDependency = dep;
      // if null was passed in, we should try to use native promises
      if (dep === null && typeof Promise === 'function') {
        PromisesDependency = Promise;
      }
      var constructors = [AWS.Request, AWS.Credentials, AWS.CredentialProviderChain];
      if (AWS.S3 && AWS.S3.ManagedUpload) constructors.push(AWS.S3.ManagedUpload);
      AWS.util.addPromises(constructors, PromisesDependency);
    }
docs: Sets the promise dependency the SDK will use wherever Promises are returned.
  Passing `null` will force the SDK to use native Promises if they are available.
  If native Promises are not available, passing `null` will have no effect.
  @param [Constructor] dep A reference to a Promise constructor