Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

sqljocky consultando banco de dados de forma síncrona


Meu palpite é que você quer fazer algo assim (observe o código não testado):
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);
}

Você leu este artigo sobre o uso de futuros?

O ponto chave é que se um método é assíncrono e o código de chamada precisa esperar que ele seja concluído, ele deve retornar um objeto Future (ou um Stream em alguns casos). Não há como no Dart obter uma função para "bloquear" aguardando um resultado assíncrono. Fique à vontade para fazer mais algumas perguntas nos comentários.