async-await 相关问题

这涵盖了各种编程语言支持的异步编程模型,使用async和await关键字。

使用来自 tokio::runtime 的异步和盒装错误

我得到了这段无法编译的代码。 [依赖项] tokio = {版本 =“1.37.0”,功能 = [“完整”]} 使用 std::error::Error ; 异步 fn external_function() -> 结果&...

回答 1 投票 0

异步方法调用阻塞主线程

我有一个像这样的异步方法: 公共异步任务SpecifyAsync() { CancellationTokenSource 源 = new(); 任务 checkTask = BeginCheckingAsync(source.Token); 发送消息()...

回答 1 投票 0

为什么异步方法总是阻塞线程?

我有一个像这样的异步方法: 公共静态异步任务 SendMailAsync() { // ...某物 } 该方法返回结果的时间很长。 我还有其他类似的方法: 公共...

回答 4 投票 0

在自定义终端组件中 setState 后反应状态未正确更新

从 'react' 导入 React, { useEffect, useRef, useState }; 从'jquery'导入$; 导入'jquery.terminal/css/jquery.terminal.min.css'; 导入'jquery.terminal/js/jquery.terminal.min.js'; 导入 {

回答 1 投票 0

将 Task 引用更改为 Task.CompletedTask 在 GC 和引用计数的上下文中是否有意义?

考虑到我有一个简单的类,我只想初始化它(或者在对象的生命周期中执行一些任务)。完成所有操作后将引用切换到 Task.Completed 是否会改变任何内容,

回答 1 投票 0

在同步参与者隔离上下文中调用参与者隔离实例方法

我有一个像这样声明的参与者协议: 协议 MyActorProtocol: Actor { 函数 foo() } 有一个符合协议的演员: 演员 MyImplementation1: MyActorProtocol { 功能...

回答 1 投票 0

async/await 是异步还是同步?

我实际上是第一次深入了解 asyc/await 部分,所以我很难理解它。 我知道 async wait 用于使函数以异步方式运行,但是如何,因为......

回答 2 投票 0

如何在 Rust 中实现异步 Drop?

我有一个返回类型的异步 fn,并且想要在调用另一个异步函数的该类型上实现 Drop。目前尚不清楚如何执行此操作,并且我在文档中找不到任何内容。最

回答 2 投票 0

异步函数作为异步函数的参数

我试图声明一个异步函数,它接受另一个异步函数作为参数,该函数必须通过不可变引用接受参数 只是为了说明我想给他什么......

回答 1 投票 0

“流数组”可读不是异步可迭代的

我有一个数组,我希望将其转换为可读流。为此,我使用流数组 NPM 模块。 当我尝试使用 node.js 10 异步迭代器迭代流时 常量流...

回答 2 投票 0

在 C# 中并发处理该数据的同时重复调用 API

想找出我到底哪里出了问题。 我有一个查询 API 的程序,该 API 以块的形式返回数据,并将返回一个响应标头,其中包含下一个数据块的 URL,如果...

回答 1 投票 0

如何将 HTTP 请求从我的 FastAPI 应用程序发送到另一个站点 (API)?

我尝试使用以下代码片段一次向服务器 http://httpbin.org/uuid 发送 100 个请求 从 fastapi 导入 FastAPI 从时间导入睡眠 从导入时间开始 进口需求...

回答 3 投票 0

javascript MySQL - 使用 Promise-await-async 构造,无法获取等待查询完成的代码

我尝试了示例代码的多个版本,但似乎永远无法保证在其他代码开始之前完成查询集。我的印象是“等待”妈妈...

回答 1 投票 0

firebase.auth().currentUser 在页面加载时为空

我成功使用 onAuthStateChange 观察者检查用户的身份验证状态并将用户重定向到个人资料页面。但是,我已经想在个人资料上显示一些特定于用户的数据...

回答 2 投票 0

React TypeScript 16.8 如何使 useEffect() 异步

为什么useEffect()不能使用async-await? const Home: React.FC = () => { useEffect(异步() => { console.log(等待 ecc.randomKey()) }, []) 返回 ( ... 错误...

回答 4 投票 0

无法将匿名方法块转换为委托,因为块中的某些返回类型不可隐式转换

我想重构一些异步创建ViewModel的函数。他们看起来如下: 公共异步任务 NavigateToCreateFormVM() { 尝试 { 正在加载= true;

回答 1 投票 0

设置usestate后如何运行函数并使用状态值

我有一个运行 2 个异步函数的函数。第一个需要设置 useState 数据,以便第二个可以使用该数据。然后我试图获取该变量并将其传递给第三个...

回答 2 投票 0

在服务端组件之间共享数据

我可以提高效率,而不必两次调用 getPosts 吗?我想使用初始帖子来创建不同的布局,但我不想继续使用 getPosts() 或者这不是 po...

回答 2 投票 0

使用 fs/promises 和 async..await 进行堆栈跟踪

我有一个与此类似的问题,并在本期中进行了描述。与 async..await 一起使用时,来自 fs/promises 的错误中没有堆栈跟踪,并且无法确定

回答 2 投票 0

为什么await Task.WhenAll()可以提高性能?

我试图理解这两段代码之间的区别: 私有异步任务 LoadShopData() { // 这些执行 MongoDB 查询 任务 我试图理解这两段代码之间的区别: private async Task<ShopData> LoadShopData() { // These perform MongoDB queries Task<IEnumerable<ShopMerchant>> fetchMerchants = _ShopSource.GetMerchants(); Task<IEnumerable<ShopMerchant>> fetchTiers = _ShopSource.GetTiers(); var shopData = new ShopData { ShopMerchants = (await fetchMerchants).ToList(), ShopTiers = (await fetchTiers).ToList() }; return shopData; } // Second option: private async Task<ShopData> LoadShopData() { // These perform MongoDB queries Task<IEnumerable<ShopMerchant>> fetchMerchants = _shopSource.GetMerchants(); Task<IEnumerable<ShopMerchant>> fetchTiers = _shopSource.GetTiers(); var tasks = new List<Task> { fetchMerchants, fetchTiers }; await Task.WhenAll(tasks); var shopData = new ShopData { ShopMerchants = (fetchMerchants.Result).ToList(), ShopTiers = (fetchTiers.Result).ToList() }; return shopData; } 我认为第二种方法会更好,但是在任何一种情况下,主线程都不会被阻塞,因为即使在第一种方法中,当线程遇到 await 关键字时,线程也可以自由地继续执行调用堆栈上方的任何工作. 第二种方法的性能是否只是因为 main 方法只需要返回一次而不是两次来继续在 LoadShopData() 中工作? 当您await在代码中的任何位置时,它会逻辑上阻塞,并且不允许执行下一行代码,直到Task返回值。如果您执行一个 await 而不是两个,您会自动使算法运行得更快,因为它等待的时间更少。只需计算代码中等待的原始数量即可找出哪个执行速度更快。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.