so habe ich diese Situation:Asynchronous Abrufen von Daten und Rendering in ExtJS mit Ajax
renderer: function(value, grid, record) {
var testAjax = function(callback) {
Ext.Ajax.request({
url: appConfig.baseUrl + '/api/users/' + record.getData().id + '/jobRoles',
method: 'GET',
success: function(result) {
callback(result)
};
});
};
return testAjax(function(result) {
try {
result = JSON.parse(result.responseText);
} catch(e) {
return '';
}
result = result.data;
var roles = _.map(result, function(jRole) {
console.log(jRole);
return jRole.name;
}).join(',');
console.log("Roles: ", roles);
return roles;
});
}
Was ich erreichen wollte, das ist, wenn ich ein bestimmtes Feld zu machen habe, ich einen Anruf auf meinen Loopback-Endpunkt machen, rufen Sie einige Daten über eine Beziehung ab, ordnen Sie sie mit einem Zeichen "," zu und geben Sie die verknüpfte Zeichenfolge zurück, um sie anzuzeigen.
Aber ich denke, ich habe ein paar Probleme mit Rückrufen hier, da ich das Ergebnis überhaupt nicht sehe, als ob die Funktion zurückgibt, bevor der Rückruf aufgerufen wird (also zeigt nichts, was ich vom Server abgerufen).
Ich habe versucht, hier und da zu suchen, und das ist das Beste, was ich kam.
Wie kann ich die Variable "roles" zur übergeordneten Funktion zurückkehren? Wie richte ich meine Rückrufe richtig ein?
Grüße
Wäre es nicht besser, alle Jobrollen in einem Geschäft zu laden und dann nachzuschlagen? – scebotari66