• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

axios promise es6 arrow func vs func declaration

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
240 wizyt
pytanie zadane 26 maja 2017 w JavaScript przez Frozenfroggie Użytkownik (990 p.)

Witam, mam problem ze zrozumieniem pewnej rzeczy. Mam następujący kod, i oczekuje, że funkcja load() wykona się gdy otrzymam odpowiedź z serwera, tymczasem funkcja wykonuje się wcześniej:

axios.post('https://example/save', data)
            .then( function(response) {
                console.log('saved successfully');
                this.props.load();
            })
            .catch( error => {
                if (error.response) {
                    console.log(error.response);
                }
            });

Natomiast gdy mam podobny kod ale gdy do then() przekazuje callback zapisany w postaci arrow function, wszystko działa tak jak tego oczekuje:

axios.post('https://example/save', data)
            .then( response => {
                console.log('saved successfully');
                this.props.load();
            })
            .catch( error => {
                if (error.response) {
                    console.log(error.response);
                }
            });

1 odpowiedź

+1 głos
odpowiedź 26 maja 2017 przez Comandeer Guru (607,060 p.)

Wszystko rozbija się o this. Wewnątrz tradycyjnej funkcji this jest najprawdopodobniej ustawione na window. W arrow function jest na sztywno ustawione na miejsce, w którym taka funkcja została zadeklarowana.

Podobne pytania

+1 głos
0 odpowiedzi 147 wizyt
pytanie zadane 5 lipca 2022 w JavaScript przez Oskar Szkurłat Bywalec (2,780 p.)
0 głosów
1 odpowiedź 553 wizyt
pytanie zadane 2 maja 2021 w JavaScript przez Bakkit Dyskutant (7,600 p.)
+1 głos
1 odpowiedź 2,239 wizyt
pytanie zadane 15 sierpnia 2018 w JavaScript przez Gambr Dyskutant (7,530 p.)

93,434 zapytań

142,429 odpowiedzi

322,662 komentarzy

62,798 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...