делай так, никто не запрещает
http://stackoverflow.com/a/17328336
вообщем возвращай расширенный промис (например)
у меня спец объект для работы с серваком =) Выглядит примерно так
var server = new Server(methods);
server.addMethods({
// ...
getProfile: {
method: 'POST',
url: '/demo/api/grants/get_profile.php'
},
saveProfile: {
method: 'POST',
url: '/demo/api/grants/save_profile.php'
}
// ...
});
// server.getProfile(query).success().error().then()...
// абортить можно, например, так
server.getProfile.cancel();
// пофантазируй =)