jquery отложен с несколькими вызовами одной и той же функции

Я работаю над унаследованным проектом, у меня есть сценарий, когда такая функция вызывается, скажем, из... 15 разных мест одновременно.

var myCall = function () {
    var dfd = $.Deferred();
    $.ajax({
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        url: 'xxxxxxx',
        data: { },
        success: function(response) {
            dfd.resolve();

        }
    });
    return dfd.promise();
};

Я хочу, чтобы первый вызов этой функции действительно вышел и получил данные, я хочу, чтобы следующие вызовы просто получали обещание, которое разрешается, когда первый вызов завершается. Я могу упустить что-то фундаментальное, поэтому я подумал, что спрошу. Нужно ли мне создавать массив обещаний, добавляя новое обещание при каждом вызове, а затем разрешать их все после извлечения данных?


person Dan Budimir    schedule 02.04.2016    source источник
comment
Избегайте отложенного антишаблона!   -  person Bergi    schedule 02.04.2016
comment
Нет, вам не нужно создавать массив промисов, вы можете раздать одно и то же обещание всем своим вызывающим абонентам. Возможно, также посмотрите на этот вопрос.   -  person Bergi    schedule 02.04.2016
comment
Именно то, что я искал, большое спасибо Берги   -  person Dan Budimir    schedule 04.04.2016