sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg afslutte et asynkront opkald for at opføre sig synkront?

Din foreslåede løsning (i din redigering) vil ikke fungere, fordi du aldrig opgiver tråden (så tilbagekaldet kan aldrig kaldes, så variablen kan aldrig indstilles, så din løkke går aldrig i stykker). Node er ikke multi-threaded - der er kun én tråd, der udfører javascript ad gangen. Der er ingen måde at give den tråd, undtagen ved at vende tilbage fra den kode, der kører.

Så du kan ikke gøre, hvad du vil. Du kan prøve at bruge nogle af de løsninger, der omskriver din synkroniseringskode til asynkron bag kulisserne, men jeg har personligt fundet ud af, at den tilgang ikke er besværet værd - det er bedre bare at bide i det og bare gøre alt med tilbagekald (over tid aftager smerten :).



  1. Kunne ikke opdatere .mdf-databasen, fordi databasen er skrivebeskyttet (Windows-program)

  2. PostgreSQL streaming replikering vs logisk replikering

  3. Sammenligning af datoer gemt som varchar

  4. Adgang til en anden brugers tabel i en Oracle Stored Procedure