This is the basic dojox grid formatter that returns a deferred. This doesn't work with the new dojo/Deferred 1.7 API. (I just tested). So if you want to use deferred's and a grid, you should upgrade to using dgrid instead.
fmtItem: function(value, idx){
if(!this.store.isItem(value)){
return " ";
}
var d = new dojo.Deferred();
var fx = function(items){
if(items.length){
d.callback(this.store.getLabel(items[0]))
}else{
d.callback(" ");
}
};
window.setTimeout(dojo.hitch(this, function(){
this.store.fetch({query: {children: value}, onComplete: fx, onError: function(e){d.errback(e)}, scope: this});
}), 5000);
return d;
}