React ax ios .then () не запускается - PullRequest
0 голосов
/ 13 июля 2020
useEffect( () => {
const fetchdata =  async () => {
  
  return ( await axios.get(serverPath).then(res=>{
   addNewSubtitle(res.data)
  }))
  
};
 const result = fetchdata(); //addnewSubtitle(result.data)}, [serverPath])

.then не запускается, и я также попробовал прокомментированный ниже result.data, который возвращает undefined. Я снова и снова проверял синтаксис, и он кажется правильным. Я не знаю, что могло привести к тому, что функция then не запустилась

Ответы [ 4 ]

0 голосов
/ 13 июля 2020
useEffect(()=>{
    async function fetchData(){
        await axios.get(serverPath).then(res=>addNewSubtitle(res.data))
    }
    fetchData()
}, [serverPath])

я не знаю, что вы делаете, но это мой базовый c формат для вызова ax ios внутри хука useEffect

0 голосов
/ 13 июля 2020
 useEffect(() => {
    async function request() {
      const fetchdata = async () => await axios.get(serverPath).then(res => res.data)
      const result = await fetchdata()
    }
    request()
  }, [serverPath])
0 голосов
/ 13 июля 2020

Мне удалось решить это следующим образом:

useEffect(() => {
 function request() {
  const fetchdata = async () => await axios.get( serverPath )
  const result =  fetchdata()
  result.then(res=>addNewSubtitle(res.data))
}
request()

}, [serverPath])

Результатом был объект обещания, и когда .then был вызван вне функции fetchdata, он работал

0 голосов
/ 13 июля 2020

Вам необходимо вернуть то, что находится в вашем .then (), чтобы использовать его -

return ( await axios.get(serverPath).then(res=>{
        return addNewSubtitle(res.data)
      }))
...