async-await相关内容

使用 async/await 进行异步网络编程

在过去的几年中,我使用异步编程模型和套接字开发了客户端/服务器软件.这个 example 在 MSDN 上,虽然过于复杂使用 ManualResetEvents 等同步机制说明了这些概念:您使用 BeginXXX() 和 EndXXX() 方法对进行连接和流操作. 这样做的好处是让线程池根据需要(例如,当接收到数据时)分配线程,而不是每个连接都有一个专用线程,这无法扩展. 最近有人提到 ..

c# async方法并返回await

一个简单的问题.我找到了一些具有这种“逻辑"和“架构"的方法. 公共异步任务FindAsync(参数对象 [] 键){返回等待 this.context.FindAsync(keys);} 一条带有等待的指令.由于该方法是异步的,因此您必须这样做(否则会发生编译器错误).恕我直言,我找不到为什么要使用这种模式,因为如果方法是异步的,您可能希望并行执行不同的任务.如果您使用 await 关 ..
发布时间:2022-01-19 15:24:11 C#/.NET

Async SerialPort Read 的正确实现

我在这里阅读了一些线程,建议将 port.BaseStream.ReadAsync() 与等待异步/等待一起使用.我不清楚实现这一点的最佳方法是什么? 我是否仍然使用 event_handler 并使其异步/可等待? private async void myPort_DataReceived(object sender, SerialDataReceivedEventArgs e){字节 ..
发布时间:2022-01-18 14:48:55 C#/.NET

C# GUI 刷新和异步串口通信

我正在尝试创建一个通过串行端口与硬件通信并将结果报告给 gui 的应用程序. 目前在 GUI 中的移动是由触发 GUI 下一个“页面"的绘制的 KeyEvents 完成的.但是一步(按下键后)我需要绘制新页面并通过串口发送一些命令. 命令发送是通过: port.Write(data, 0, data.Length); 然后我通过等待触发 DataReceivedHandler 来等 ..
发布时间:2022-01-18 14:09:40 C#/.NET

“异步"Azure Function App 未按预期等待

我正在尝试使用 Azure storage SDK for node 在表格存储中创建一个表格,如果它不存在的话. 以下代码有效,返回200响应,虽然没有响应内容.但是,该表已按预期创建. 经过调查,我可以看到 Azure Function 应用程序正在记录以下内容 - 创建表“测试". [警告] 警告:函数执行完成后对上下文对象的“日志"意外调用.请检查未等待的异步调用或在函 ..
发布时间:2022-01-17 16:00:43 前端开发

在异步方法中显示错误消息的更好方法

我们不能在 catch 块中使用 await 关键字这一事实使得在 WinRT 中显示来自异步方法的错误消息非常尴尬,因为 MessageDialog API 是异步的.理想情况下,我希望能够这样写: 私有异步任务 DoSomethingAsync(){尝试{//一些可以抛出异常的代码...}捕捉(例外前){var dialog = new MessageDialog("出了点问题!");等待 ..
发布时间:2022-01-17 11:06:05 C#/.NET

'await' 运算符只能在异步 lambda 表达式中使用

我有一个 c# Windows Store 应用程序.当单击另一个 MessageDialog 内的命令按钮之一时,我正在尝试启动 MessageDialog.这样做的目的是警告用户他们的内容未保存,如果他们单击取消,它将提示他们使用单独的保存对话框进行保存. 这是我的“showCloseDialog"函数: 私有异步任务 showCloseDialog(){如果(b_editedSinc ..
发布时间:2022-01-17 10:09:10 C#/.NET

在数组javascript的排序函数中实现async/await

我正在尝试在量角器 ElementArrayFinder 上实现排序方法.众所周知,所有量角器方法都返回承诺.所以我的排序方法有一个取决于承诺解决的条件.我正在为 async/await 使用节点插件,以使其与低于 6 的 node.js 版本兼容.(这里的插件:https://www.npmjs.com/package/asyncawait)p> 这是我的代码,其中 this 是 ArrayE ..
发布时间:2022-01-16 16:21:37 前端开发

在单独的线程中执行 run_coroutine_threadsafe

我有一个永远运行的脚本(它检查文件的变化).每当制作奇怪的文件时,我都需要发送 Discord 消息. 问题是,事件监听函数(下面的def run(self):)来自一个子类,所以我不能把它改成async def run(self):.因此我不能使用 await channel.send() 我对此的解决方案是使用 run_coroutine_threadsafe,如下所述:https:/ ..
发布时间:2022-01-15 08:31:42 Python

带有 async def 的 Python [无效语法]

我正在尝试使用 Python 编写 discord 机器人,我遇到了这个机器人并将其拼凑在一起. 导入不和谐导入异步随机导入客户端 = 不和谐.客户端()inEmail = input("电子邮件:")inPassword = input("密码:")异步定义背景循环():等待 client.wait_until_ready()而不是client.is_closed:频道 = client.ge ..
发布时间:2022-01-14 23:55:49 Python

C#“等待"从桌面应用程序使用 WinRT 时出错

我尝试使用 C# 中的 Windows 运行时从桌面应用获取我的 GPS 位置. 我按照 这个方法 进行设置使用 Visual Studio 和 此代码示例 创建以下内容作为 C# 控制台应用程序的简单代码: 使用系统;使用 System.Collections.Generic;使用 System.Linq;使用 System.Text;使用 System.Threading;使用 Sys ..
发布时间:2022-01-14 21:35:47 C#/.NET

StaTaskScheduler 和 STA 线程消息泵送

TL;DR:StaTaskScheduler 运行的任务内部出现死锁. 长版本: 我正在使用 StaTaskScheduler 来自 Parallel Team 的 ParallelExtensionsExtras,用于托管第三方提供的一些旧版 STA COM 对象.StaTaskScheduler 实现细节的描述如下: 好消息是 TPL 的实现可以在任一平台上运行MTA 或 STA ..
发布时间:2022-01-14 11:32:48 C#/.NET

如何让新的异步语义在 VS2017 RC 中工作?

引用自 Visual Studio 2017 RC 发行说明 语言扩展和分析器 此版本包括我们正在为 C# 和 Visual Basic 的下一版本开发的一些建议的新语言扩展.这些新语言功能默认启用,包括: 对于 C#: 异步方法的类似任务的返回类型:这引入了返回任何来自异步方法的类似任务的类型.以前,这些返回类型仅限于 Task 和 Task. 它说它默认启用 ..
发布时间:2022-01-12 08:15:27 C#/.NET

如何使用顶级“等待"?在打字稿 next.js

当我使用“等待"时像这样在顶层: const LuckyDrawInstance=await new web3.eth.Contract(abi) 我在终端上收到警告:“set Experiments.topLevelAwait true".当我尝试将其添加到“tsconfig.json"时,它仍然不起作用.它说“实验";属性不存在. 我可以将它包装在一个异步函数中,但我想在没有包装函 ..
发布时间:2022-01-08 23:19:22 前端开发