sql >> Databáze >  >> RDS >> Mysql

Jak mohu zabalit asynchronní volání, aby se chovalo synchronně?

Vámi navrhované řešení (ve vaší úpravě) nebude fungovat, protože se nikdy nevzdáte vlákna (takže nelze nikdy zavolat zpětné volání, takže proměnnou nelze nikdy nastavit, takže se vaše smyčka nikdy nepřeruší). Uzel není vícevláknový – vždy existuje pouze jedno vlákno spouštějící javascript v jeden okamžik. Neexistuje žádný způsob, jak toto vlákno získat, než návratem z jakéhokoli spuštěného kódu.

Takže nemůžete dělat, co chcete. Můžete zkusit použít některá z řešení, která v zákulisí přepíšou váš synchronizační kód do asynchronního režimu, ale osobně jsem zjistil, že tento přístup opravdu nestojí za námahu – je lepší to prostě skousnout a prostě to udělat vše se zpětným voláním (časem bolest ustoupí :).



  1. Vytváření a nasazení více verzí databáze prostřednictvím snímků schématu

  2. Instalace Oracle Forms and Reports 11g Release 2

  3. PHP nemůže za určitých okolností vyřešit název kontejneru mysql

  4. MYSQL:Aktualizujte pole se spojením více polí