У меня есть три метода:ждать методы signalr закончить
myHub.server.getColumnSettings().done(function (result) {
if (result) {
//Do stuff with result
}
});
myHub.server.getDefaultGroupedBy().done(function(result) {
if (result) {
//Do stuff with result
}
});
function init() {
//Do more stuff
}
Я хотел getColumnsSettings, чтобы закончить, и после этого я хочу getDefaultGroupedBy до конца, и после этого Init().
Я попытался следующие, но это не сработало ..
var defer = $q.defer();
defer.promise
.then(function() {
myHub.server.getColumnSettings().done(function (result) {
if (result) {
//Do stuff with result
}
});
})
.then(function() {
myHub.server.getDefaultGroupedBy().done(function(result) {
if (result) {
//Do stuff with result
}
});
})
.then(function() {
init();
});
defer.resolve();
ли 'getColumnSettings()'/'getDefaultGroupedBy()'/'сделано()' вернуть обещания? – Bergi
'then' не волшебным образом обнаруживает асинхронные вещи в своих обратных вызовах. Вам нужно бросить ему кость: 'return' обещание, иначе оно не может дождаться этого. – Bergi