Вопрос reg expo FileSystem.readAsStringAsync

#react-native #expo

#react-native #expo

Вопрос:

Я довольно новичок в react native и нуждаюсь в некоторой помощи reg. возможность считывания изображения из файла (например, изображения). Я использую библиотеку файловой системы expo со следующим кодом:

 const uploadImages = (file) => {
   let data = null;
   try {
      data = await FileSystem.readAsStringAsync(file);
      console.log(data)
  } catch (err) {
      console.log(err)
  }
 

Проблема, с которой я сталкиваюсь, заключается в том, что я получаю: ‘await’ разрешен только в асинхронных функциях

Как я могу вызвать эту функцию, чтобы дождаться загрузки данных в переменную data ?

Ответ №1:

FileSystem.readAsStringAsync(...) ВОЗВРАТ Promise .
Вы можете использовать Promise api, например .then() , и .catch() :

 const uploadImages = (file) => {
   FileSystem.readAsStringAsync(file)
     .then(data => {
       // Do something with your data in this block
       console.log(data);
     })
     .catch(err => {
       console.log(err.message)
     })
}