• JavaScript Teaser: Jan. 16, 2015

    Summary
    Here's the second JavaScript Teaser in our series for JavaScript ninjas. Can you figure it out? Please email Yuri if you want feedback on your answer. Do also let us know your thoughts on the question below (but don't post the answers in the comments section this time, so more people can send answers in.) Thanks!

    Reading time: 1 minute
    Written by
    Date published
    January 15, 2015

    Here's the second JavaScript Teaser in our series for JavaScript ninjas. Can you figure it out? Please email Yuri if you want feedback on your answer. Do also let us know your thoughts on the question below (but don't post the answers in the comments section this time, so more people can send answers in.) Thanks!

    Consider the following code:

    function getTheAnswerAsync() {
      return Q.when(42);
    }
    
    function getTheQuestionAsync(answer) {
      if (answer===42) {
        return Q.when('What do you get if you multiply six by nine?');
      } else {
        return Q.when('Don\'t panic!');
      }
    }
    
    process(function *() {
      var theAnswer = yield getTheAnswerAsync();
      console.log('The answer:', theAnswer);
      var theQuestion = yield getTheQuestionAsync(theAnswer);
      console.log('The question:', theQuestion);
    });
    

    Write the implementation of process() that would make this work, outputting:

    The answer: 42
    The question: What do you get if you multiply six by nine?
    

    Hint:
    this will only work on node ≥ 0.11 and you will need to use --harmony flag.

    Tags

    See what Ranglers are writing about on our blog