CREATING SYNCHRONOUS AND ASYNCHRONOUS OPERATIONS IN REACT: DEVELOPING “TO-DO LIST”

INTRODUCTION:

  • Programming in synchronized JavaScript involves the sequential execution of code, with one task being finished before moving on to the next. 
  • Asynchronous JavaScript, on the contrary hand, is a development method in which an instance of code does not need to wait for a job to finish while proceeding ahead to the next action.

WHAT IS A TO-DO LIST?

  • Take notes on everything.
  • lists after list after list.
  • Sort your to-do list according to process, importance, or due date.
  • Make sure it's doable.
  • Vocabulary comes first, then details.
  • Set priorities for your tasks.
  • Include a deadline at all times.
  • Divide a large task into smaller ones.

How It Works With The Synchronous And Asynchronous Operations:

The to-do list website Todo List isn't the most effective one available. 

It's not the easiest either. That's kind of the point: this software strikes a balance between complexity and capability while operating on virtually every device in use. 

That's a compelling selling feature, which is likely the reason Todo List is currently one of the most well-liked to-do lists.

With the use of natural language processing, adding tasks was swift on all platforms in my testing (for example, typing "buy milk Monday" will create the task "buy milk" with the next Monday set as your due date). 

Setting due dates and moving new tasks from your Inbox to pertinent projects are also options.

AT SYNCHRONOUS OPERATION:

  • The Tasks which are listed will be performed consecutively in which they should wait for the previous task to complete or end.
  • The condition states that in synchronous the tasks should be assigned in a proper and linked method such that the list of tasks wouldn’t have any sort of issues.
  • In the synchronous operation, there will be doing tasks off lists simultaneously after completing the previous task at the TO DO list.

AT ASYNCHRONOUS OPERATION:

  • The tasks in the asynchronous operations will be performed continuously without waiting for the previous task to turn over.
  • The condition of asynchronous operation states that there won’t be any sort of waiting period during the tasks of the TO DO list with the set of operations/tasks that are processed for scheduling.
  • Here the methods are followed in order to follow a set of functions, ‘Set timer( )’ Etc;

An Illustration Of Synchronous & Asynchronous Operations performing TO-DO List:

OUTPUT:

PERFORMING SYNCHRONOUS OPERATION:

PERFORMING ASYNCHRONOUS OPERATION:

The Asynchronous Operation performs a set timer function to follow the previous task to come forward.

OUTPUT:

How The Procedure Works:

  • This is the 'TodoList' component's primary functional part. 
  • It includes the to-do list features.
  • The 'useState' hook is used to define the 'todos', 'newTodo', and 'loading' state variables.
  • 'todos' stands for the list of tasks.
  • The value of the input field for adding new to-dos is stored in 'newTodo'.
  • When a to-do is added asynchronously, the "loading" function keeps track of the loading status.
  • We specify the following three event handlers:
  • 'handleInputChange' is activated when the value of an input field changes. It inserts the new value into the 'newTodo' state.
  • When the "Add Todo (Sync)" button is selected, the function is called "handleAddTodoSync" 
  • In order to imitate an API request, it uses 'setTimeout' to fake an asynchronous wait. The loading state ('loading') is set to 'true' during the delay, making the button inactive. 
  • The button is made available once the new task is added to the "todos" state, the input field is removed, and the loading state is changed back to "false."
  • The UI components and their accompanying event handlers are defined via the JSX markup:
  • We have a newTodo input field that is connected to the 'newTodo' state.
  • The "Add Todo (Sync)" and "Add Todo (Async)" buttons are present.
  • When clicked, the "Add Todo (Sync)" button calls the "handleAddTodoSync" method.

CONCLUSION:

  • React may be used by developers to create smooth, effective user interfaces by using the appropriate synchronous and asynchronous methodologies. 
  • Asynchronous operations are more appropriate for lengthy tasks like file operations or network requests, whereas synchronous procedures are excellent for occupations that demand immediate results or include constraints. 

REFERENCES:

https://www.codingninjas.com/codestudio/library/synchronous-and-asynchronous-javascript

https://www.geeksforgeeks.org/synchronous-and-asynchronous-in-javascript/

https://www.scaler.com/topics/synchronous-and-asynchronous-javascript/

https://chat.openai.com/

By

Kolli Naga Sai Venkata Rohit

Shiva Kumar