whole_func_string: function runStoppableQueue(queue) {
    for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
      args[_key2 - 1] = arguments[_key2];
    }
  
    var step = function step(index) {
      if (index >= queue.length) {
        return true;
      }
      var result = isFunction(queue[index]) ? queue[index].apply(queue, _toConsumableArray(args)) : queue[index];
      if (result === false) return false;
      return step(++index);
    };
    return step(0);
  }
func_code_string: function runStoppableQueue(queue) {
    for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
      args[_key2 - 1] = arguments[_key2];
    }
  
    var step = function step(index) {
      if (index >= queue.length) {
        return true;
      }
      var result = isFunction(queue[index]) ? queue[index].apply(queue, _toConsumableArray(args)) : queue[index];
      if (result === false) return false;
      return step(++index);
    };
    return step(0);
  }
func_documentation_string: run a queue one by one.If include function return false it will stop
  @param  {Array} queue the queue which we want to run one by one
  @return {boolean} tell the user if the queue run finished