--description--
Promises are most useful when you have a process that takes an unknown amount of time in your code (i.e. something asynchronous), often a server request. When you make a server request it takes some amount of time, and after it completes you usually want to do something with the response from the server. This can be achieved by using the then
method.
Promise.prototype.then(onFulfilled, onRejected)
The then
method schedules callback functions for the eventual completion of a Promise - either fulfillment or rejection. One of the onFulfilled
and onRejected
handlers will be executed to handle the current promise's fulfillment or rejection. When the promise is fulfilled with resolve
the onFulfilled
handler is called.
myPromise.then(result => {
});
result
comes from the argument given to the resolve
method.
--instructions--
Add the then
method to your promise. Use result
as the parameter of its callback function and log result
to the console.
--hints--
You should call the then
method on the promise.
assert(
__helpers.removeWhiteSpace(__helpers.removeJSComments(code)).match(/(makeServerRequest|\))\.then\(/g)
);
Your then
method should have a callback function with result
as its parameter.
assert(resultIsParameter);
You should log result
to the console.
assert(
resultIsParameter &&
__helpers
.removeWhiteSpace(__helpers.removeJSComments(code))
.match(/\.then\(.*?result.*?console.log\(result\).*?\)/)
);
--seed--
--after-user-code--
const resultIsParameter = /\.then\((function\(result\){|result|\(result\)=>)/.test(__helpers.removeWhiteSpace(__helpers.removeJSComments(code)));
--seed-contents--
const makeServerRequest = new Promise((resolve, reject) => {
// responseFromServer is set to true to represent a successful response from a server
let responseFromServer = true;
if(responseFromServer) {
resolve("We got the data");
} else {
reject("Data not received");
}
});
--solutions--
const makeServerRequest = new Promise((resolve, reject) => {
// responseFromServer is set to true to represent a successful response from a server
let responseFromServer = true;
if(responseFromServer) {
resolve("We got the data");
} else {
reject("Data not received");
}
});
makeServerRequest.then(result => {
console.log(result);
});