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

question-closed Asynchroniczny node js

Object Storage Arubacloud
0 głosów
285 wizyt
pytanie zadane 1 lutego 2021 w JavaScript przez Author[] Gaduła (3,130 p.)
zamknięte 1 lutego 2021 przez Author[]

Mam obiekt ze statyczną funkcją uploadFile():

const current_window = require("electron").remote.getCurrentWindow();
    const upload_dialog_options = {
        title: "Choose files to open",
        buttonLabel: "Choose files",
        properties: ['openFile','multiSelections']
    }
    let promise = new Promise((resolve)=>{
      dialog.showOpenDialog(current_window, upload_dialog_options).then((upload_file)=>{
        let file_path = upload_file.filePaths;
        if (upload_file.canceled==false)
        {
            return resolve(file_path);
        }
        else
        {
          return resolve(file_path);
        }
        
    });
    });
  }

następnie wywołuję ją w innej funkcji:

objekt.uploadFile().then((value)=>{console.log(value);})

Pojawia się błąd:

Uncaught (in promise) TypeError: Cannot read property 'then' of undefined

Nie wiem co robię źle. Z góry dziękuję za pomoc.

komentarz zamknięcia: Otrzymałem rozwiązanie
komentarz 1 lutego 2021 przez Marak123 Stary wyjadacz (11,190 p.)
Czym jest "dialog" w 8 lini??

Gdzie masz zdefiniowaną funkcję uploadFile()??

I albo jestem ślepy albo ten ostatni nawias jest nie potrzebny ostatnia linijka.

A odnośnie błędu to oznacza ze ta funkcja uploadFile() nic nie zwraca bo nie wie co ma zwrócić i dlatego then nie wie co ma odczytać.
komentarz 1 lutego 2021 przez Author[] Gaduła (3,130 p.)
Ostatni nawias to nawias obiektu zapomniałem go usunąć po skopiowaniu kodu

1 odpowiedź

+2 głosów
odpowiedź 1 lutego 2021 przez xnerwo Gaduła (3,270 p.)
wybrane 1 lutego 2021 przez Author[]
 
Najlepsza

Hej, sprawdź czy ten problem na Stack Overflow pomoże :)

komentarz 1 lutego 2021 przez Author[] Gaduła (3,130 p.)
Dziękuję za odpowiedź. Po zastosowania rozwiązania ze zwracaniem obietnicy wszystko działa.

Podobne pytania

0 głosów
0 odpowiedzi 134 wizyt
0 głosów
1 odpowiedź 153 wizyt
0 głosów
1 odpowiedź 162 wizyt
pytanie zadane 18 listopada 2019 w JavaScript przez Krzysztofson Użytkownik (620 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...