jQuery/Q promises

Понеже сега гледам подготовката за изпита, отново след лекцията ми направи впечатление как ползваме ajax заявките и промисите в рикуестъра. Исках да отбележа нещо, което може да спести някой и друг ред код, както и грешки понякога. Не знам дали беше казано, но $.ajax директно ни връща промис (всъщност е jqXHR обект, но той имплементира промис интерфейса, поне в новите версии). Макар и jQuery да има някои недостатъци като имплементация на промисите мисля, че за нашите нужди, т.е. основно ajax заявки си е напълно достатъчно. Но ако все пак искаме да ползваме Q - в самата документация на библиотеката автора казва, че Q може директно да конвертира промиса - нужно е просто да подадем ajax заявката в Q функцията. И не е нужно да минаваме през defer, resolve, reject и т.н.

Т.е. вместо да пишем

var defered= Q.defer();
$.ajax({
    method:....,
    url:.....,
    headers:.....,
    success: function(...){
....},
    error: .....
})
return defer.promise;

Може директно

return Q($.ajax({
    method:...,
    url:.....
});