草庐IT

index-async

全部标签

Django 调用 async 异步方法

由于某些需求,需要在django内部使用异步方法,并正常的调用。恰好,官方已经支持异步官方文档参考:异步支持|Django文档|Django本次仅使用 异步适配函数 当从异步的上下文中调用同步的代码时,有必要适配调用风格,反之亦然。为此,有两个适配器功能,可从 asgiref.sync 模块中获取:async_to_sync() 和 sync_to_async() 。它们用于调用样式之间转换,同时保持兼容性。这些适配函数广泛应用于Django。asgiref 包本身就是Django项目的部分,并且它在当你用 pip 方式安装Django时,会作为依赖项目自动安装。 async_to_sync(

flutter - BottomNavigatonBar 的 onTap(index) 方法上的 SetState() 不会重建小部件树

我正在尝试将webview_flutterWebView连接到BottomNavigationBar。我希望在点击选项卡时使用新URL重新加载View。在onTap回调我将_currentUrl更新为新的url并使用新的选项卡索引调用设置状态。为什么标签栏正在更新但网页View没有重建?我错过了什么?classWebViewAppextendsStatefulWidget{@overrideStatecreateState(){returnWebViewState();}}classWebViewStateextendsState{int_currentTabIndex=0;Strin

flutter - BottomNavigatonBar 的 onTap(index) 方法上的 SetState() 不会重建小部件树

我正在尝试将webview_flutterWebView连接到BottomNavigationBar。我希望在点击选项卡时使用新URL重新加载View。在onTap回调我将_currentUrl更新为新的url并使用新的选项卡索引调用设置状态。为什么标签栏正在更新但网页View没有重建?我错过了什么?classWebViewAppextendsStatefulWidget{@overrideStatecreateState(){returnWebViewState();}}classWebViewStateextendsState{int_currentTabIndex=0;Strin

asynchronous - 我怎样才能正确地从使用 Futures/async/await 的流中产生?

我遇到了一个奇怪的问题,如果我在我的flutter应用程序中从我的提供者那里yield*,函数中的其余代码就不会完成。我使用的是BLoC模式,所以我的_mapEventToState函数如下所示:Stream_mapJoiningCongregationToState(intidentifier,intpassword)async*{_subscription?.cancel();_subscription=(_provider.doThings(id:identifier,password:password)).listen((progress)=>{dispatch(Event(p

asynchronous - 我怎样才能正确地从使用 Futures/async/await 的流中产生?

我遇到了一个奇怪的问题,如果我在我的flutter应用程序中从我的提供者那里yield*,函数中的其余代码就不会完成。我使用的是BLoC模式,所以我的_mapEventToState函数如下所示:Stream_mapJoiningCongregationToState(intidentifier,intpassword)async*{_subscription?.cancel();_subscription=(_provider.doThings(id:identifier,password:password)).listen((progress)=>{dispatch(Event(p

flutter - 未处理的异常 : RangeError (index): Invalid value: Valid value range is empty: 0

此方法始终运行。我检查了API。如果API值发生变化,我会删除我的数据库并重新插入。像这种情况那样使用是正确的方法吗?(可以使用streamWidget还是FutureWidget?如果可以怎么办?)错误信息:[ERROR:flutter/lib/ui/ui_dart_state.cc(148)]UnhandledException:RangeError(index):Invalidvalue:Validvaluerangeisempty:0checkQuick(Stringurl,Stringtoken)async{result=(awaitHelperDatabase1().dis

flutter - 未处理的异常 : RangeError (index): Invalid value: Valid value range is empty: 0

此方法始终运行。我检查了API。如果API值发生变化,我会删除我的数据库并重新插入。像这种情况那样使用是正确的方法吗?(可以使用streamWidget还是FutureWidget?如果可以怎么办?)错误信息:[ERROR:flutter/lib/ui/ui_dart_state.cc(148)]UnhandledException:RangeError(index):Invalidvalue:Validvaluerangeisempty:0checkQuick(Stringurl,Stringtoken)async{result=(awaitHelperDatabase1().dis

dart - 我无法添加 Text(installedApps[index] ["app_name"]) 因为 'index' 未定义。我怎样才能添加这个文本?

我正在构建一个flutter应用程序。我已经构建了一个带有构造函数的类。我制作了构造函数,因此我可以自定义我的ListTile像这样:classAppListextendsStatefulWidget{@overrideAppListStatecreateState()=>AppListState();AppList({Keykey,this.child}):super(key:key);finalWidgetchild;}classAppListStateextendsState{Widgetchild;List>_installedApps;@overridevoidinitSta

dart - 我无法添加 Text(installedApps[index] ["app_name"]) 因为 'index' 未定义。我怎样才能添加这个文本?

我正在构建一个flutter应用程序。我已经构建了一个带有构造函数的类。我制作了构造函数,因此我可以自定义我的ListTile像这样:classAppListextendsStatefulWidget{@overrideAppListStatecreateState()=>AppListState();AppList({Keykey,this.child}):super(key:key);finalWidgetchild;}classAppListStateextendsState{Widgetchild;List>_installedApps;@overridevoidinitSta

async-await - 等待,它是如何工作的?

如果我有类似的东西:varx=awaitretrieveData()if(x!=nil){dostuff}其中retrieveData()执行http请求。问题是:if条件是否等待检索数据?(更好的方法是,if条件是否总是返回false?) 最佳答案 是的,if条件“等待”。只有在retrieveData返回的Future完成后,代码才会继续执行。如果没有async/await它将是returnretrieveData().then((x){if(x!=null){dostuff}})