я думаю, что я не понимаю, почему я получаю обещание взамен? Мне нужно создать объект. Оба варианта возврата значения из обещания не работают.
Почему это так? Чего мне не хватает?
Решение: создать переменную внутри t (). Then (res => {const myVar = {...}})
// a.js
exports.t = (key, lang, props) => {
return i18next.changeLanguage(lang).then(t => {
return t(key, props);
});
};
// b.js
import {t} from './a.js'
const myVar = {
a: "a",
b: "b",
c: (()=>{
switch (template) {
case 'a':
// Promise should return value here from t();
default:
break;
}
})(),
d: (async () => {
switch (template) {
case 'a':
// Not working, returns Promise... Why?
return await t('email.Registration Confirmation', lng);
default:
break;
}
})(),
e: (()=>{
switch (template) {
case 'a':
// Not working, returns Promise... Why?
return t('email.Registration Confirmation', lng).then(res => {
return res;
});
default:
break;
}
})()
}
Возможно ли вообще, что JS ждет разрешения Обещания и затем завершает создание объекта?