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

sqljocky synchronně dotazuje databázi

Hádám, že chcete udělat něco takového (Všimněte si netestovaného kódu):

Future<DBObject> load(DBObject object, String id) {
   var query = "select ... where id='$id'"; // Note: check for SQL injection.
   return pool.query(query)
    .then((result) => result.toList())
    .then((list) => list.forEach((row) => object.import(row)))
    .then((_) => object);
}

Četli jste tento článek o používání Futures?

Klíčovým bodem je, pokud je metoda asynchronní a volající kód musí čekat na její dokončení, pak musí vrátit objekt Future (nebo v některých případech Stream). V Dartu neexistuje žádný způsob, jak získat funkci, která by "blokovala" čekání na asynchronní výsledek. Neváhejte se zeptat na další otázky v komentářích.




  1. SQL Server String nebo binární data by byla zkrácena

  2. Urychlete porovnávání textů (vektorů funkcí) pomocí prostorových funkcí MySQL

  3. PDO:Předejte funkci MySQL do bindValue/bindParam

  4. Jak získat přístup k připojení mysqli v jiné třídě na jiné stránce?