У меня есть StreamBuilder.В теле этого построителя потоков я поместил метод, который обновляет поле документа примерно каждые 30 секунд, и все работает нормально.У меня также есть кнопка, которая при нажатии устанавливает данные в один документ, а затем обновляет другой, как показано на рисунке ниже
method_1()async{
//set data to some collection
}
method_2()async{
// update some other colections document
}
//method in body of stream builder
update_coll()async
// do update
{
}
streamBuilder(
Stream:Firestore.instance.collection('some_collection');
// somewhere in the body of the streamBuilder
update_coll(); // update every 30 seconds
// and a button in listviewBuilder
RaisedButton(
onPressed(){
method_1().then((_){
method_2();
});
}
),
);
, проблема в том, что когда я нажимаю кнопку для запуска двух методов, ничего не происходит (Методы в нажатом на кнопкеgedButtton для отправки данных в мою базу данных cloudFiresore Не отправлять данные), однако, когда я закомментирую метод update_coll();
, он работает.Что я делаю не так, и есть ли лучший способ для того, что я пытаюсь сделать, особенно с update_coll();
, который должен часто обновлять поля
Я звоню setstate, когда мне нужно