Это потому, что вы ничего не возвращаете с setNewJsonAndTranslate
.return
асинхронный вызов:
return this.setJson().then(json => {...});
Вы также можете использовать функцию async
и await
асинхронный код:
async setNewJsonAndGetTranslate(key) {
let json = await this.setJson();
let translate = TranslateService.jsonPathToValue(json, key);
let result = JSON.stringify(translate[this.user.getLangCode()]);
if (result !== undefined) {
return result.substring(1, result.length - 1); //<-- I'm need to return this
} else {
return key;
}
}