123 lines
6.4 KiB
Markdown
123 lines
6.4 KiB
Markdown
---
|
||
id: 5cdafbb0291309899753167f
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
title: Create a JavaScript Promise
|
||
=======
|
||
title: Create a Javascript Promise
|
||
>>>>>>> 5aba19817... feat/new-lessons-on-js-promises
|
||
=======
|
||
title: Create a JavaScript Promise
|
||
>>>>>>> bed9cbc73... Update curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/create-a-javascript-promise.english.md
|
||
challengeType: 1
|
||
---
|
||
|
||
## Description
|
||
<section id='description'>
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
A promise in JavaScript is exactly what it sounds like. You use it to make a promise to do something, usually asynchronously. When the task completes you either fulfill your promise or fail to do so. <code>Promise</code> is a constructor function so you need to use the <code>new</code> keyword to create one. It takes a function as its argument with two parameters, <code>resolve</code> and <code>reject</code>. These are methods used to determine the outcome of the promise. The syntax looks like this:
|
||
=======
|
||
A promise in javascript is exactly what it sounds like. You use it to make a promise to do something, and at some point you either fulfill your promise or fail to do so. It’s a constructor function, so they are create with the <code>new</code> keyword. It needs a function as its argument with two parameters, <code>resolve</code> and <code>reject</code>. These are methods used to determine the outcome of the promise. The syntax looks like this:
|
||
>>>>>>> 5aba19817... feat/new-lessons-on-js-promises
|
||
=======
|
||
A promise in javascript is exactly what it sounds like. You use it to make a promise to do something, usually asynchronous. When the task completes you either fulfill your promise or fail to do so. It’s a constructor function, so they are created with the <code>new</code> keyword. It needs a function as its argument with two parameters, <code>resolve</code> and <code>reject</code>. These are methods used to determine the outcome of the promise. The syntax looks like this:
|
||
>>>>>>> 396e6142b... fix/update-verbiage
|
||
=======
|
||
A promise in JavaScript is exactly what it sounds like. You use it to make a promise to do something, usually asynchronously. When the task completes you either fulfill your promise or fail to do so. <code>Promise</code> is a constructor function so you need to use the <code>new</code> keyword to create one. It needs a function as its argument with two parameters, <code>resolve</code> and <code>reject</code>. These are methods used to determine the outcome of the promise. The syntax looks like this:
|
||
>>>>>>> d86e97264... Update curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/create-a-javascript-promise.english.md
|
||
=======
|
||
A promise in JavaScript is exactly what it sounds like. You use it to make a promise to do something, usually asynchronously. When the task completes you either fulfill your promise or fail to do so. <code>Promise</code> is a constructor function so you need to use the <code>new</code> keyword to create one. It takes a function as its argument with two parameters, <code>resolve</code> and <code>reject</code>. These are methods used to determine the outcome of the promise. The syntax looks like this:
|
||
>>>>>>> 915a966f1... fix/change-needs-to-takes-in-instructions
|
||
|
||
```js
|
||
const myPromise = new Promise((resolve, reject) => {
|
||
|
||
});
|
||
```
|
||
|
||
</section>
|
||
|
||
## Instructions
|
||
<section id='instructions'>
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
Create a new promise called <code>makeServerRequest</code>. Pass in a function with <code>resolve</code> and <code>reject</code> parameters to the constructor.
|
||
=======
|
||
Create a new promise called <code>makeServerRequest</code>. Pass in a function with <code>resolve</code> and <code>reject</code> parameters to the promise.
|
||
>>>>>>> 5aba19817... feat/new-lessons-on-js-promises
|
||
=======
|
||
Create a new promise called <code>makeServerRequest</code>. Pass in a function with <code>resolve</code> and <code>reject</code> parameters to the constructor.
|
||
>>>>>>> 79a812601... Update curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/create-a-javascript-promise.english.md
|
||
</section>
|
||
|
||
## Tests
|
||
<section id='tests'>
|
||
|
||
```yml
|
||
tests:
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
- text: You should assign a promise to a declared variable named <code>makeServerRequest</code>.
|
||
testString: assert(makeServerRequest instanceof Promise);
|
||
- text: Your promise should receive a function with <code>resolve</code> and <code>reject</code> as parameters.
|
||
testString: assert(code.match(/Promise\(\s*(function\s*\(\s*resolve\s*,\s*reject\s*\)\s*{|\(\s*resolve\s*,\s*reject\s*\)\s*=>\s*{)[^}]*}/g));
|
||
=======
|
||
- text: Your promise should be in a variable called <code>makeServerRequest</code>.
|
||
=======
|
||
- text: You should assign a promise to a declared variable named <code>makeServerRequest</code>.
|
||
>>>>>>> 8f4cfb0e5... Update curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/create-a-javascript-promise.english.md
|
||
testString: assert(makeServerRequest instanceof Promise);
|
||
- text: Your promise should receive a function with <code>resolve</code> and <code>reject</code> as parameters.
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
testString: assert(typeof(makeServerRequest) === "object" && (code.match(/new\s*Promise\(\s*\(\s*resolve\s*,\s*reject\s*\)\s*=>\s*{/g) || code.match(/new\s*Promise\s*\(\s*function\s*\(\s*resolve\s*,\s*reject\s*\)\s*{/g)));
|
||
>>>>>>> 5aba19817... feat/new-lessons-on-js-promises
|
||
=======
|
||
testString: assert(makeServerRequest instanceof Promise && (code.match(/new\s*Promise\(\s*\(\s*resolve\s*,\s*reject\s*\)\s*=>\s*{/g) || code.match(/new\s*Promise\s*\(\s*function\s*\(\s*resolve\s*,\s*reject\s*\)\s*{/g)));
|
||
>>>>>>> 066e1792e... fix/add-tests
|
||
=======
|
||
testString: assert(code.match(/Promise\(\s*(function\s*\(\s*resolve\s*,\s*reject\s*\)\s*{|\(\s*resolve\s*,\s*reject\s*\)\s*=>\s*{)[^}]*}/g));
|
||
>>>>>>> 2a76bf50c... fix/make-tests-more-robust
|
||
```
|
||
|
||
</section>
|
||
|
||
## Challenge Seed
|
||
<section id='challengeSeed'>
|
||
<div id='js-seed'>
|
||
|
||
```js
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
|
||
=======
|
||
>>>>>>> 5aba19817... feat/new-lessons-on-js-promises
|
||
=======
|
||
|
||
>>>>>>> 2a76bf50c... fix/make-tests-more-robust
|
||
```
|
||
|
||
</div>
|
||
</section>
|
||
|
||
## Solution
|
||
<section id='solution'>
|
||
|
||
```js
|
||
<<<<<<< HEAD
|
||
<<<<<<< HEAD
|
||
const makeServerRequest = new Promise((resolve, reject) => {
|
||
=======
|
||
makeServerRequest = new Promise((resolve, reject) => {
|
||
>>>>>>> 5aba19817... feat/new-lessons-on-js-promises
|
||
=======
|
||
const makeServerRequest = new Promise((resolve, reject) => {
|
||
>>>>>>> e40baddf2... fix/solution-to-pass-tests
|
||
|
||
});
|
||
```
|
||
</section>
|