Нужно ответы с сервера заменять готовы решениями из массива

156
28 июня 2018, 15:40

С сервера приходят ответы (result) в виде статуса: active,stop,pause и тд. Нужно по заранее готовому массиву заменять их Т.е так:

active - активно
stop - стоп 
и тд.

Как это в коде должно выглядеть?

Answer 1

Как должно не знаю, но может выглядеть так:

const map = {ru: { 
  active: 'активно', 
  stop: 'стоп', 
}}; 
 
const locale = 'ru'; 
 
const someRequest = () => Promise.resolve({result: 'stop'}); 
 
const localizeRequest = (req) => req() 
  .then(res => { 
    ///Object.keys(res).forEach(key => {...}) 
    if (map[locale][res.result]) res.result = map[locale][res.result]; 
    return res; 
  }); 
 
localizeRequest(someRequest) 
    .then(res => console.log(res));

Answer 2

let dictObj = {"active":"активно","stop":"стоп"}; 
 
let resultKey = "stop"; 
console.log("Ответ сервера - ", resultKey); 
 
let my_event = dictObj[resultKey]; 
console.log("Выполняемое действие - ", my_event);

Answer 3

Вот, попробуй данный код!

const translate = {active:"активно",stop:"стоп"} // Словарь RU-EN
var res = "active";
for(const otv in translate){
    if(res === otv){
        res = {};
        res[otv] = translate[otv]
    }
}
console.log(res);
READ ALSO
Не получается разобрать JSON в MVC

Не получается разобрать JSON в MVC

Имею в Controllers метод который обращается к стороннему API , хочу оттуда взять json

149
В userscript не срабатывает функция jQuery load()

В userscript не срабатывает функция jQuery load()

Пытаюсь создать свой первый userscript (Chrome + Violentmonkey)

186
Защита от флуда на JS

Защита от флуда на JS

пишу на телеграмм ботаХочу реализовать функцию защита от флуда

165