Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить значение? (https://javascript.ru/forum/misc/86031-kak-poluchit-znachenie.html)

acvafor 03.08.2024 22:12

Как получить значение?
 
Вложений: 1
Есть вот такой код
const GetList = async () => {
        const itemsList = [await AsyncStorage.getItem('items')]

        const value = [itemsList.map((item) =>{
            console.log(item)
            return item
        })]
        console.log(value)
        return value
    };

Который в консоль отдаёт


Как я могу получить содержимое text и key из listOfItems?
Обычно я использовал что-то вроде item.listOfItems, но тут почему-то не работает

Aetae 03.08.2024 22:18

У тебя в хранилищ строка(просто текст), её надо распарсить в объект если ты хочешь с ней работать. Зачем ты всё вокруг в массивы клал([]) - непонятно.
const GetList = async () => {
  const { listOfItems } = JSON.parse(await AsyncStorage.getItem('items'));

  console.log(listOfItems);
  listOfItems.forEach(({text, key}) => console.log(text, key));

  return listOfItems;
};

acvafor 03.08.2024 23:39

Цитата:

Сообщение от Aetae (Сообщение 555900)
У тебя в хранилищ строка(просто текст), её надо распарсить в объект если ты хочешь с ней работать. Зачем ты всё вокруг в массивы клал([]) - непонятно.
const GetList = async () => {
  const { listOfItems } = JSON.parse(await AsyncStorage.getItem('items'));

  console.log(listOfItems);
  listOfItems.forEach(({text, key}) => console.log(text, key));

  return listOfItems;
};

Спасибо большое. Только учусь)
Правильно ли я понимаю что GetList() будет содержать объект
Promise, в котором есть тот самый array. Можно как-то сделать что бы console.log(GetList()) сразу выдавал массив?

roland 04.08.2024 19:48

Цитата:

Сообщение от acvafor (Сообщение 555901)
Можно как-то сделать что бы console.log(GetList()) сразу выдавал массив?

Нельзя, так как GetList - асинхронная функция. Но можно сделать так:
console.log(await GetList())

// или так
GetList().then((listOfItems) => {
  console.log(listOfItems)
})

// или вот так (в учебных целях)
GetList().then(console.log)


Часовой пояс GMT +3, время: 13:59.