kotlin 协程 Flows 想在callback中使用flow 但是emit方法会报错

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

img

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

emit是挂起函数
需要在挂起函数或者协程体中调用的 你这样不行的
比如

 flow<Int>{
        test(object : Callback{
            override fun onFailure(p0: Call, p1: IOException) {
                
            }

            override fun onResponse(p0: Call, p1: Response) {
                GlobalScope.launch { 
                    this@flow.emit(1)
                }
            }

        })
    }

也可以考虑直接使用stateFlow或者sharedFlow。
另外博主有几篇介绍flow 以及 stateflow sharedflow 可以参考噢


Kotlin:深入理解StateFlow与SharedFlow,StateFlow和LiveData使用差异区分,SharedFlow实现源码解析。_Pumpkin's Blog-CSDN博客 本文接上一篇博文:Kotlin:Flow 全面详细指南,附带源码解析。文章目录StateFlow、SharedFlowStateFlow使用StateFlow简介StateFlow的用法LiveData与StateFlow差异对比StateFlow特别说明Android中使用StateFlow实践SharedFlow使用SharedFlow简介SharedFlow的使用SharedFlow使用实战????‍♀️SharedFlow、StateFlow的使用区别,换句话说,事件和状态的区别?StateFlo https://blog.csdn.net/weixin_44235109/article/details/121594988?spm=1001.2014.3001.5502

Kotlin:深度理解协程挂起恢复实现原理。纯源码分析。_Pumpkin's Blog-CSDN博客 - 协程是依靠什么实现的呢?- 如何挂起?- 如何恢复? https://blog.csdn.net/weixin_44235109/article/details/121730323?spm=1001.2014.3001.5502