• 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
307 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 135 wizyt
0 głosów
1 odpowiedź 157 wizyt
0 głosów
1 odpowiedź 169 wizyt
pytanie zadane 18 listopada 2019 w JavaScript przez Krzysztofson Użytkownik (620 p.)

92,666 zapytań

141,564 odpowiedzi

320,019 komentarzy

62,031 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

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!

...