Всем привет!
Думаю, из исходного кода всё понятно. Если в запросе $.post в success-обработчике вызвать исключение, то его нельзя будет отловить.
Можно, конечно, выставлять какие-нибудь флаги в случае неуспеха, а в .done() их потом проверять, но это как-то коряво...
Как вообще грамотно построить обработку таких ситуаций?
doc = {
data1: [],
data2: [],
init: function () {
$.when(doc.load_data1(), doc.load_data2()).done(function () {
doc.show_data1();
doc.show_data2();
});
},
load_data1: function () {
return $.post('server.php', {
get: 'data1'
}, function (res) {
if (res === 'bad') {
// тут проблема
// как обработать эту ситуацию так, чтобы в функции init()
// поймать эту ситуацию?
}
doc.data1 = res;
}, 'json');
},
load_data2: function () {
return $.post('server.php', {
get: 'data2'
}, function (res) {
if (res === 'bad') {
// тут проблема
// как обработать эту ситуацию так, чтобы в функции init()
// поймать эту ситуацию?
}
doc.data2 = res;
}, 'json');
}
}