Questions tagged [async]
The async tag has no usage guidance.
162
questions
2
votes
2
answers
218
views
What are the risks in eliminating sync over async?
I'm reviewing changes to a widely used library, which are supposed to be refactorings, and so we want to minimize the risk of introducing any accidental regression. Of course, there are changes from ...
3
votes
1
answer
324
views
Should web API controller actions that perform no async work always be declared as async?
I have been going over our app web api and making sure all async work is async all the way - and no artificial asynchronicity is enforced.
Say I have the following web api controller:
[HttpGet]
...
0
votes
1
answer
75
views
Bubbling errors upstream in async message-based services
Imagine a simple set up of an API and a 2nd service, where the API pushes some msgs to the message queue and the service pulls them and processes them.
Now, if an error occurs while processing a msg, ...
0
votes
1
answer
219
views
How to optimize average rating calculation in a review system?
I'm thinking of a designing a review system (restaurant, hotel etc) where users can drop star reviews. Typically in a such a application, you can see the average rating of an entity along with all ...
1
vote
1
answer
35
views
How should I handle routine health checks in a Node.js/Nest.js application?
I have a Nest.js application, and lately I've been thinking about how I can ensure that data is synchronized between two sources - my database and an external database.
For example - and to my ...
0
votes
1
answer
140
views
Can resource which requires asynchronous cleanup be constructed synchronously?
More specifically this applies only to resources which have asynchronous dependencies themselves (but I think that's majority of them).
Concrete example:
class Foo : IAsyncDisposable
{
public ...
43
votes
6
answers
16k
views
In JavaScript, how is awaiting the result of an async different than sync calls?
I'm having a hard time wrapping my head around the use of async/await and regular sync function calls in JavaScript.
Let's say I have two functions:
Function 1:
async function doSomething() {
...
0
votes
3
answers
175
views
Critical section with two different "rights of way" [closed]
In C#, how do I handle critical section with two different "rights of way"?
Theoretical use case: imagine a swimming pool (the resource). Many individual swimmers (worker threads A, B, C, ...
2
votes
1
answer
157
views
Share models between AsyncAPI and RESTful APIs?
What I try to solve:
Given I run a set of microservices, most of which expose a RESTful API and additionally publish or consume events via messaging broker,
and I have decided to go "API first&...
0
votes
1
answer
61
views
Long-running jobs in an event-driven environment with constrained max-execution-duration
Hello we have an async event-driven system (kotlin, spring cloud stream, rabbitmq) where there might be an event FooPayloadArrived, published by an ingress rest-controller.
Processing this ...
3
votes
1
answer
314
views
Could the async keyword be eliminated in a new programming language?
This post implies that the creators of Rust had to add the "async" keyword to make the async/await functionality backward compatible.
Why do we need the async keyword?
In a new language, ...
0
votes
1
answer
305
views
Asynchronous Server in C++
We are looking to develop an asynchronous server in C++. We are coming from C#, which has built-in support for async-await networking. However, with C++ it appears as if it is basically mandatory to ...
-3
votes
1
answer
150
views
Why isn't JavaScript always async? [duplicate]
In JS, code runs single-threaded, that's why asynchronicity is necessary. I cannot use code like result = someRequest(), instead I need to give it a callback someRequest(resultCallback) or write a ...
2
votes
2
answers
254
views
Should I create two synchronous or a single asynchronous rest APIs?
Here is the situation. System A sends the notification as it completes the work items to System B. System A does not know how many items the project consists of. It's just a pass-through system. ...
-2
votes
2
answers
1k
views
Measuring async/await overhead
A while ago I read an article stating that overhead of an async/await call was around 50ms. More recently I read an article that it was around 5ms. I was having a discussion about whether we should ...
1
vote
3
answers
848
views
Is it bad practice to do additional work in IAsyncEnumerable generator method?
Imagine you have to process each row in a large table.
For every single row you have to download some data from a web service and store it in a different database.
Loading all rows at once into the ...
-3
votes
1
answer
92
views
How does a site API determine the difference between a user and program request in a browser?
So this is in regards to scraping yes; no language in particular. Some sites allow you to see a JSON modal if you pull it directly from a web browser. But, at any notion a program is used, immediately ...
0
votes
2
answers
288
views
Why/When do we need to call an async method from a sync method?
It is my first question here so I hope I'm not doing a mistake. I see a plethora of questions in SO that people ask "how can I call an async method from a sync method?". Given my little ...
1
vote
1
answer
198
views
C# design for handling a high rate of async network operations that complete with a callback (hundreds per second)
I am working with a message broker technology, to which events will be published (following an "event carried state transfer" architecture) for consumption by other applications.
The vendor ...
1
vote
1
answer
225
views
C#: Should I define methods as async?
I have a C# (WPF) application which consumes a particular 3rd party API/tool (let's call this Tool A). My colleagues and I are trying to decouple that from our application, so that it is possible to ...
3
votes
1
answer
584
views
What are the different messaging patterns for multiple producers to single consumer through a distributed queue?
We have multiple producers that publish messages to the same SQS queue. We have a single consumer that processes the messages. The producers do not care about the response. It is more like a broadcast ...
-2
votes
1
answer
244
views
Designing a sqlite component in C++
I work on a small component in an embedded device (sensor). This component :
Every 5 seconds, sends requests to other components using sockets
(get health check status, operating status etc) and ...
2
votes
1
answer
1k
views
Why no async functions for Utf8JsonReader and ReadOnlySequence
I have used Utf8Json a lot (it is very good) but have since adapted some lower level code and started using Utf8JsonReader directly.
Looking into the code of the Utf8Json library, I see ...
-2
votes
2
answers
438
views
Async Value Object Creation (DDD)
Suppose that I have a Value Object representing an Image URL of a Cake.
To check that it really is a cake, I make an asynchronous API call to a server that checks whether the image really represents ...
3
votes
3
answers
606
views
Issues with an interface treating a synchronous action as async
Let's say I'm trying to write a library that abstracts certain actions. In this example I want to turn a light on or off. There could be hundreds of different kinds of lights that are controlled in ...
0
votes
1
answer
79
views
Organizing Parallel Arrays of Promises / Async tasks
I'm struggling a bit for a preferred way to organize a sequence of asynchronous tasks that can be applied in parallel. Say, you are parsing data from many files. In my case I'm using javascript and ...
4
votes
3
answers
828
views
How does an hexagonal architecture help with async/await async-over-sync?
In his book "Concurrency in C# Cookbook", Stephen Cleary writes:
If you can, try to organize your code along modern design guidelines, like Ports and Adapters (Hexagonal Architecture), which ...
3
votes
1
answer
805
views
Difference Between AsyncResult and Task in c#
So, in C#, I understand the historical difference between the two vaguely; a Task is a newer concept and the highest level concurrency native C# offers.
AsyncResult is a bit more ambiguous. For ...
0
votes
2
answers
142
views
What is the best practice for incorporating asynchronous code in this case?
Context: I'm building a popup widget. The html and css files are stored in S3. I need to get those files asynchronously and then continue with the rest of the logic.
In the code below, I'm getting ...
2
votes
1
answer
739
views
Implementing both Sync and Async clients with DRY
I'm developing a client library. I'd like to provide both Sync and Async interfaces to endpoints on a server. They would be rather easy to implement as completely separate entities, but I would like ...
0
votes
1
answer
1k
views
Unit testing async tcp server
I built an async multi-client TCP server for RPC usage. It's working well but I've found it difficult to unit test certain functionality:
Connect 2x clients, is client count 2
Connect 1x ...
5
votes
2
answers
3k
views
How do JavaScript engines convert async/await to promises under the hood?
I'm curious how the async/await syntax is converted to Promises. Maybe I'm just not thinking about it properly, but I don't know how this code would be converted to a Promise:
async function myFunc(...
1
vote
1
answer
239
views
How is an async stack implemented?
I am working on creating a simple VM sort of thing in JS:
let sp = 0 // stack pointer
let m = [] // memory
initialize:
sp = 0
invoke:
m[sp] = m[sp - 1] // position in stack
m[sp + 1] = input[m[...
0
votes
0
answers
65
views
Streaming Promises in NodeJS
Imagine a typical HTTP service that does async db queries. If HTTP requests are received more quickly than the db can complete queries (such as because the db disk or network is slow), the Promises ...
1
vote
0
answers
36
views
Using TPL to manage hundreds of contexts
Overview of application:
A chat bot that connects via IRC, using TPL. As messages come from the socket (from .ReadAsync()), they are ultimately parsed and passed to a handler within the bot itself (...
15
votes
3
answers
25k
views
How to justify using await instead of .Result() or .Wait() in .NET Core?
Since the inception of .NET Core, console apps, function apps, ASP.NET etc. are not using synchronization context in async methods (so they're synchronizing straight to Thread Pool).
This means that ...
3
votes
1
answer
431
views
Isn't asynchronicity an implementation detail?
Consider a simple — and fake — interface:
interface ISuperGetter { Super Get(); }
An implementation would get some Super from RAM.
One would store what it needs on disk.
Yet another could fetch the ...
2
votes
2
answers
142
views
Name of locking approach
I've seen this approach several times, both in async and multithreaded code. A counter is used to track asynchronous behavior or thread behavior - whenever a new action is started, the counter is ...
5
votes
3
answers
3k
views
Why is it necessary for every new api to be async?
I'm expressing my frustration here somewhat, but why do many new libraries only have asynchronous APIs? For example I'm creating a small utility to fetch a web page and parse some data from it. ...
6
votes
2
answers
601
views
balance between UI responsiveness and avoiding race conditions
To keep scope small I will talk about UI race conditions initiated by the same user in the same app sessions.
The question is general and not specific to mobile, web or desktop UI.
The issue
Modern ...
0
votes
1
answer
146
views
I'm writing an application that needs to log error/ exception messages but should still continue execution if it not a fatal error
I'm writing an application that needs to log error/ exception messages but should still continue execution if the error is not a fatal error. I was thinking of making a method that returns a Task but ...
12
votes
1
answer
6k
views
Is the C# async/Task construct equivalent to Java's Executor/Future?
I'm a long time Java developer, but with so little traffic on SE, I don't limit my viewing to any single tags. I've noticed that C# questions with async/await come up a lot, and as far as I've read it'...
0
votes
1
answer
2k
views
Async - why have an async for a login?
C# web scaffolding has an async call for every member. Why?
For example: Async for a login call makes no sense. User has to wait for validation. What else would the app do until the application ...
2
votes
1
answer
285
views
Must we define methods and async when we don't know whether the implementation is synchronous or asynchronous?
I think I know the answer to this, but it's particular enough that I don't want to go telling other people stuff until I'm 100% certain.
Suppose I have a class with some dependency:
public interface ...
0
votes
0
answers
696
views
Using signalR for streaming alongside a microservice architecture
I have a cluster of micro services with an exposed search API serving a client app. I want to "stream" in real time the aggregated results of a complex search. The search will be kicked of by the ...
-1
votes
1
answer
137
views
Does avoiding Promises and Async leads to clean code?
While applying for a job interview I found this line in requirements.
Experience with clean code writing practices like avoiding callback hell like promises, async
Does this line make any sense ? ...
-4
votes
2
answers
230
views
Should I use async for networking application/library [closed]
I decided to make an application, networking application, don't know what it has to do yet but mainly it should be a cross-client kind of like framework networking application/library.
Since ...
0
votes
3
answers
314
views
If callback function, promises and async/await patterns all can be used to achieve asynchronous behaviour then why don't we stick to one?
As far as I have seen then async/await, callbacks and promises are and can only be used to achieve asynchronous programming. Correct?
So my questions are:
1) Is it correct that the former three is ...
2
votes
1
answer
2k
views
Will (await method).ToList() block the thread? [closed]
I'm using a lot of async Task<IEnumerable<T>> methods and I want to stop doing this everytime to get the items as a list:
var items = await AsyncMethodThatReturnsEnumerable();
var ...
1
vote
1
answer
479
views
What does await do in JavaScript?
Sorry for this naive question.
Reading some existing JavaScript I see a function with code like ...
async function _load() {
await ensureDir(path);
return await readFile(filename);
}
... why ...