javascript icon indicating copy to clipboard operation
javascript copied to clipboard

Implement new Concept Exercise: Async/Await

Open junedev opened this issue 4 years ago • 15 comments

Goal

The goal here is to create a new concept exercise and a new concept from scratch.

Getting started

Here you can read about what Concept Exercises are and how they are structured:

If you have not done so yet, it is probably also helpful to do a couple of "Learning Exercises" (this is how they are called on the site) yourself. You can also look at the code of an existing concept exercise like bird-watcher (concept for-loops) for reference.

Concepts

The following concept needs to be created. You can use the introduction.md file of the concept also as introduction.md file of the exercise. No need to create different content at this point. Additionally, if you want to save some time it is ok to not have an extensive about.md at this point. It can also be mainly the instruction.md content, maybe with some additions you would like to make.

  • async-await

Learning Objectives

In the concepts the student should learn about the following topics and then practice them in the concept exercise.

  • Async functions
  • Await
  • Relation to promises
  • Error handling with try/catch/finally
  • Top level await (incl. a note that it might not yet be available in all environments)

Out of Scope

  • Repeating details about promises

Prerequisites

The following concepts should be assumed and defined as prerequisites for the new exercise:

  • promises
  • errors

Resources

Here some links that might be helpful as a starting point:

  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await
  • https://javascript.info/async-await

Help

You can choose to do this solo-style, or collaborate with multiple people on this. The suggested approach is to

  1. First accept this issue by saying "I'd like to work on this" (no need to wait for a response, just go with it) and optionally request that someone works with you (and wait for a second person to accept your request).
  2. Use this issue to discuss any questions you have, what should be included in the content and what not and to collect reference material.
  3. Create a PR and set "exercism/javascript" as reviewers. Additionally you can write in #maintaining-javascript that your PR is ready for review. Once you incorporated any critical feedback that the reviewer might give you and the PR is approved, it will be merged by a maintainer.

junedev avatar Nov 07 '21 21:11 junedev

Is somebody working on it or I could pick it up

shubhsk88 avatar Nov 11 '21 13:11 shubhsk88

@shubhsk88 It's yours if you want it. 🙂

junedev avatar Nov 11 '21 13:11 junedev

Thanks will start working on it this weekend.

shubhsk88 avatar Nov 11 '21 13:11 shubhsk88

@shubhsk88, how is it going on the concept? I would like to pitch in if you are willing? Let me know if I can help. Thanks

pertrai1 avatar Dec 02 '21 15:12 pertrai1

Sorry Got stuck with life but will be finishing this up sooner, I will let you know @pertrai1 if I need help.Thanks for the help😅

shubhsk88 avatar Dec 11 '21 12:12 shubhsk88

@shubhsk88 Can you give a short update on the status here? Feel free to create a draft PR in case you want some early feedback on something. Also let us know in case you can't continue working on this for some reason.

junedev avatar Feb 05 '22 18:02 junedev

@shubhsk88 Since I didn't hear back from you for some month, I will unassign you from the issue so it can be picked up by someone else.

junedev avatar Apr 15 '22 16:04 junedev

I want to work on this.

sahamdot avatar May 10 '22 01:05 sahamdot

@SalahuddinAhammed Great that you want to help. I'll assign you to the issue. Please let us know in case you have any questions or decide you don't want to continue working on this.

junedev avatar May 10 '22 10:05 junedev

That's great. I am working on this issue.

sahamdot avatar May 10 '22 10:05 sahamdot

Sorry to say, I will not work on this issue now for personal reasons.

sahamdot avatar May 11 '22 09:05 sahamdot

I'll happily take this on.

rockysingh3 avatar May 19 '22 15:05 rockysingh3

@rockysingh3 I did not see any commits being added to your PR I a while. Are you still planning to work on this?

junedev avatar Jul 17 '22 15:07 junedev