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.