Hola soy principiante en Flutter es mi primera vez preguntando algo aqui.....Tengo un problema mi metodo existeregistro(); esta dentro de un onPressed y este se esta ejecutando despues de un print....
este es mi codigo
Lo unico que quiero es que se ejecute existeregistro(); termine y ya despues se ejecute el if(existe==true)...
onPressed:()异步{ 存在寄存器();
if(existe==true){
print(idexistente.toString()+"ya en update");// ESTE PRINT SE EJECUTA PRIMERO
await SQLHelper.updateItemPlantasEstimacion(
idexistente,
selecPar1,
plantas,
estado1,
altaint,
mediaint,
bajaint,
ramasint,
vari,
estimacion);
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
backgroundColor: Colors.green,
duration: Duration(milliseconds: 2000),
content: Text(
"Planta " '$plantas ' +
"'" +
estado1 +
"'" " Actualizada",
style: TextStyle(fontSize: 18),
),
));}else{}
}
void existeregistro() 异步{
final data2 = await SQLHelper.getExisteEstimacion(selecPar1,plantas,estimacion);
print(selecPar1.toString()+" "+plantas.toString()+" "+estimacion.toString());// ESTE PRINT SE EJECUTA EN SEGUNDO
_journals2 = data2;
if(_journals2.length==0){
existe=false;
listaInformacion =[];
print("existefalse");
}else{
existe=true;
print("existetrue"); //SE EJECUTA EN TERCERO
listaInformacion = data2.map((e) => e.toString()).toList();
for (int i = 0; i < listaInformacion.length; i++) {
listaInformacion[i] = listaInformacion[i].replaceAll(RegExp(r'id'), '');
listaInformacion[i] = listaInformacion[i].replaceAll("{", "");
listaInformacion[i] = listaInformacion[i].replaceAll("}", "");
listaInformacion[i] = listaInformacion[i].replaceAll(": ", "");
}
idexistente= int.parse(listaInformacion[0]);
listaInformacion=[];
}
}
intente poner waits y muchas cosas y nada nose como solcionarlo porfavor ayudanme :c
只需在“existeregistro();”之前加上“await”在“onPressed()”方法中。
由于existeregistro()是异步的,所以需要时间给出输出。但是由于您没有在
await
中使用 onPressed
来“等待”,因此下一行将在它之后立即执行。
你已经正确地使用了
await
await SQLHelper.updateItemPlantasEstimacion( ...
,
同样的事情。
ScaffoldMessenger.of(context).showSnackBar( ...
会等到 SQLHelper.updateItemPlantasEstimacion( ...
被执行。