Как запускать функции и демоны во Flutter и динамически изменять состояние в StatefulWidget? - PullRequest
1 голос
/ 26 мая 2020

Я разрабатываю приложение Flutter для академических c целей в университете. Я также начал приближаться к парадигме виджетов Flutter (Stateless vs Stateful). В любом случае, учитывая на некоторое время методологию Stateful, мне нужно запустить фоновые процессы (например, REST API GET и обновление SQLite), а затем обновить состояние новыми данными (например, в ListView).

Позвольте мне объяснить лучше со следующим изображением:

enter image description here

Я попытался обрисовать, каким, по моему мнению, должен быть информационный поток. Однако я помню, что в Kotlin (родной), если я хочу выполнить какую-то работу с Asyn c, мне нужно сделать что-то вроде этого:

class someTask() : AsyncTask<Void, Void, String>() {
    override fun doInBackground(vararg params: Void?): String? {
        // ...
    }

    override fun onPreExecute() {
        super.onPreExecute()
        // ...
    }

    override fun onPostExecute(result: String?) {
        super.onPostExecute(result)
        // ...
    }
} 

Но во Flutter набор инструментов, который мы можем использовать состоит из других примитивов, таких как ожидание , будущее и так далее. Мой вопрос: каковы лучшие практики для достижения того, чего я хочу (также с точки зрения производительности и шаблонов программирования)?

Спасибо за внимание

...