JS получение результата асинхронной функции
Всем привет, помогите пожалуйста разобраться с получением результата асинхронной функции. Без вызова ServiceHelper.callService всё ок работает, но мне нужно после отработки этого метода получения его результата вернуть filters. Т.е. ожидается, что getFilters возвращает обработанный filters, вызывается он как синхронная обычная функция. Надеюсь понятно объяснил. вот это
.then(result => {
return filters;
});
Нагуглил, но не работает, пишет неизвестная функция then
getFilters: function(scope) {
var filters = this.callParent(arguments);
ServiceHelper.callService({
serviceName: "SfCaseHelperService",
methodName: "CheckVisaVisible",
callback: function(response, success) {
var result = response.CheckVisaVisibleResult;
if (!(success && result))
{
showErrorMessage("Ошибка");
}
//ТУТ ЧТО_НИБУДЬ ДЕЛАЕМ С filters....
return filters;
//callback.call(scope, { success: result});
},
scope: this,
data: {
contactId: CURRENT_USER_CONTACT.value
}
}, scope).then(result => {
return filters;
});