function renderTaskReset(context) {
    var seriesModel = context.model;
    var ecModel = context.ecModel;
    var api = context.api;
    var payload = context.payload;
    // ???! remove updateView updateVisual
    var progressiveRender = seriesModel.pipelineContext.progressiveRender;
    var view = context.view;

    var updateMethod = payload && inner$5(payload).updateMethod;
    var methodName = progressiveRender
        ? 'incrementalPrepareRender'
        : (updateMethod && view[updateMethod])
        ? updateMethod
        // `appendData` is also supported when data amount
        // is less than progressive threshold.
        : 'render';

    if (methodName !== 'render') {
        view[methodName](seriesModel, ecModel, api, payload);
    }

    return progressMethodMap[methodName];
}
Create throttle method or update throttle rate.

@example
ComponentView.prototype.render = function () {
    ...
    throttle.createOrUpdate(
        this,
        '_dispatchAction',
        this.model.get('throttle'),
        'fixRate'
    );
};
ComponentView.prototype.remove = function () {
    throttle.clear(this, '_dispatchAction');
};
ComponentView.prototype.dispose = function () {
    throttle.clear(this, '_dispatchAction');
};

@public
@param {Object} obj
@param {string} fnAttr
@param {number} [rate]
@param {string} [throttleType='fixRate'] 'fixRate' or 'debounce'
@return {Function} throttled function.