You're confusing the return inside addCallback with the return from
the outer getOffice function.

--- modified example:
var getOffice = function(county_id) {
    var d = loadJSONDoc('/office_from_countytype/'+ county_id +'/');
    var off_id;
    d.addCallback(function (result) {
        off_id=result[0].fields['office'];
        log('got office id: '+ off_id);
        return off_id;
    });
   return d; // <--- !
}

... now, a user can get 'off_id' like this.

var d = getOffice(country_id);
d.addCallback(function(off_id) {
    log('got office id:', off_id);
});

(since getOffice makes an asynchronous request any return from it
must, by definition, also be asynchronous.)

HTH
// Fredrik Blomqvist

On Nov 15, 7:04 pm, hotani <[email protected]> wrote:
> I can log the value, but it returns as "undefined".
>
> var getOffice = function(county_id) {
>     var d = loadJSONDoc('/office_from_countytype/'+ county_id +'/');
>     var off_id;
>     d.addCallback(function (result) {
>         off_id=result[0].fields['office'];
>         log('got office id: '+ off_id);
>         return off_id;
>     });
>
> }
>
> The log entry will show "INFO: got office id: 14", but the function
> returns "undefined".

-- 
You received this message because you are subscribed to the Google Groups 
"MochiKit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/mochikit?hl=en.

Reply via email to