0

The result of buildMyUrl is always undefined in the calling function. I'm not sure what I'm doing wrong chaining these functions:

var buildMyUrl = function (callback)
{   
    var param;

    var addParams = function (domainUrl)
    {
        domainUrl += "page.aspx?";
        domainUrl += "Param1=";
    };

    $.when(self.buildDomainUrl()).then(addParams);
};

buildDomainUrl returns a JQuery promise and adding parameters works fine. Now I have a function that would like to use the result of buildMyUrl:

    var buildAPageUrl  = function ()
    {
        var dfd = $.Deferred();

        var addCalendarPage = function (domainUrl)
        {
             dfd.resolve(domainUrl += "/Calendar.aspx?");
        };

   // Here lies the problem (buildMyUrl is undefined)
        $.when(buildMyUrl()).then(addCalendarPage);

        return dfd.promise();
    }
John Munsch
  • 19,530
  • 8
  • 42
  • 72
Jon Wells
  • 4,191
  • 9
  • 40
  • 69

1 Answers1

0

The following works based on Kevin B's comments:

var buildMyUrl = function (callback)
{   
    var dfd = $.Deferred();
    var param;

    var addParams = function (domainUrl)
    {
        domainUrl += "page.aspx?";
        domainUrl += "Param1=";
        dfd.resolve();
    };

    $.when(self.buildDomainUrl()).then(addParams);
    return dfd.promise();
};
Jon Wells
  • 4,191
  • 9
  • 40
  • 69