Я знаю, что по этому поводу есть несколько потоков, но я думаю, что в контексте SAPUI5 ни один поток не отвечает на эту общую тему об отложенных/синхронных вызовах в SAPUI5.
В My Controller я получил:
test : function() {
var dfd = $.Deferred();
var sServiceUrl = '/sap/opu/odata/sap/xyz/MySet?$format=json';
var post = $.ajax({
url: sServiceUrl,
type: "GET"
});
post.done(function(data){
console.log(data);
dfd.resolve();
});
post.fail(function(){
console.log("Error loading: " + sServiceUrl);
dfd.reject();
});
return dfd.promise();
},
на мой взгляд, я вызываю метод и хочу дождаться результата, как мне правильно управлять им?
var test = oController.test();
console.log(test);
$.when(test).done().then(console.log("finished"));
также этот подход не ждет:
$.when(oController.test()).then(console.log("finished"));
Как и ожидалось, тест не определен, «завершен» регистрируется, и когда .done из метода готов, он регистрируется. но я хочу дождаться этого (и в лучшем случае вернуть данные из ajax обратно)..
как мне дождаться продолжения post.done() в моем представлении?