code: function (data) {
              var that = this,
                  options = $.extend({}, this.options, data);
              if (options.processQueue && options.processQueue.length) {
                  this._transformProcessQueue(options);
                  if (this._processing === 0) {
                      this._trigger('processstart');
                  }
                  $.each(data.files, function (index) {
                      var opts = index ? $.extend({}, options) : options,
                          func = function () {
                              return that._processFile(opts);
                          };
                      opts.index = index;
                      that._processing += 1;
                      that._processingQueue = that._processingQueue.pipe(func, func)
                          .always(function () {
                              that._processing -= 1;
                              if (that._processing === 0) {
                                  that._trigger('processstop');
                              }
                          });
                  });
              }
              return this._processingQueue;
          }
docs: Processes the files given as files property of the data parameter, returns a Promise object that allows to bind callbacks: