Que fait cette fonction de réponse javascript?

J'ai vu ce code dans un autre post DONC: jQuery UI Autocomplete avec ASP MVC

    $("#CustomerID").autocomplete({
        source: function(request, response) {
            $.ajax({
                type: "POST",
                url: "/customer/search",
                dataType: "json",
                data: {
                    term: request.term
                },
                error: function(xhr, textStatus, errorThrown) {
                    alert('Error: ' + xhr.responseText);
                },
                success: function(data) {
                    response($.map(data, function(c) {
                        return {
                            label: c.Company,
                            value: c.ID
                        }
                    }));
                }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            alert('Select');
        }
    });

Je comprends tout, sauf de la réussite de la fonction. Je sais que la carte prend un tableau et la cartographie de chaque valeur à un nouvel objet qui a une étiquette et la valeur de la propriété et en retournant le nouveau tableau, mais je ne suis pas sûr de ce que la réponse ().

source d'informationauteur Dismissile