Совет по Joomla: используем Promise в Ajax-запросах
В статье Ajax-запросы нативными средствами Joomla было подробно разобрано, как с помощью Joomla.request
можно легко создавать Ajax-запросы в Joomla.
В одном из комментариев был вопрос по поводу Promise
, а умеет ли Joomla? Умеет, но начиная с Joomla 4. Достаточно при создании запроса выставить флаг promise
в true
и результатом выполнения запроса будет Promise
:
Joomla.request({
url: Joomla.getOptions('system.paths', '').root+'/index.php?option=com_ajax&format=json&module=example',
method: 'POST',
promise: true
})
.then(response => {
let text = JSON.parse(response.text);
return text.data;
})
.catch(error => {
console.log(error);
});
Таким образом мы можем эффективно строить асинхронные цепочки, добавив всего один флаг к вызову Joomla.request
.