UNPKG

workshopper-browser-guide

Version:

Create an html browser version of the exercise descriptions

86 lines (80 loc) 4.25 kB
<!doctype html> <html class="no-js" lang="pt-br"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>learnyounode Guide</title> <meta name="description" content="learn git and github"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="assets/css/style.css"> <link rel="stylesheet" href="assets/css/code.css"> <link href='assets/fonts/fonts.css' rel='stylesheet' type='text/css'> </head> <body> <!--[if lt IE 8]> <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p> <![endif]--> <header class="site-header"> <div class="nav u-posFixed"> <ul class="nav-lang"> <li><a href="juggling_async.html" >English</a></li> <li><a href="juggling_async.es.html" >Español</a></li> <li><a href="juggling_async.ja.html" >日本語</a></li> <li><a href="juggling_async.pt-br.html" >Português (Brasil)</a></li> <li><a href="juggling_async.ru.html" >Русский</a></li> <li><a href="juggling_async.zh-cn.html" >中文 (中国)</a></li> <li><a href="juggling_async.zh-tw.html" >中文 (臺灣)</a></li> </ul> <div class="wrap-width u-textCenter"> <a href="http_collect.pt-br.html" <span class="u-floatLeft hand"></span> </a> <a class="filledblock" href="index.pt-br.html">learnyounode</a> <a href="time_server.pt-br.html" <span class="u-floatRight hand"></span> </a> </div> </div> <div class="wrapper"> <div class="u-floatLeft"> <span class="all-caps">CHALLENGE</span> <h2 class="challenge-name">BRINCANDO ASSÍNCRONAMENTE</h2> </div> <div class="u-floatRight u-textRight"> <span class="all-caps">NUMBER</span> <h2 class="challenge-name">9 / 13</h2> </div> </div> </header> <div class="wrapper"> <p>Este problema é igual ao anterior (HTTP COLLECT) no aspecto do que você deveria fazer, usar <code>http.get()</code>. Porém, dessa vez você vai receber <strong>três</strong> URLs como os primeiros três argumentos da linha de comando.</p> <p>Você deve coletar o conteúdo completo fornecido por cada uma das URLs e imprimir os dados no console (stdout). Você não precisa imprimir o comprimento, apenas os dados em forma de String; uma linha por URL. A grande &quot;sacada&quot; aqui é que você <strong>deve</strong> imprimí-las na mesma ordem que as URLs foram passadas à você pela linha de comando.</p> <hr> <h2 id="dicas">DICAS</h2> <p>Não espere que estes três servidores joguem limpo! Eles não vão te dar respostas completas na ordem que você espera, então você não pode inocentemente apenas imprimir os resultados na hora que eles chegam, pois dessa forma eles estarão fora de ordem.</p> <p>Você vai precisar enfileirar os resultados e manter um registro de quantas URLs já retornaram o conteúdo completo. Uma vez que você tiver todos os dados, você poderá imprimí-los no console.</p> <p>Contar callbacks é uma das maneiras fundamentais de lidar com chamadas assíncronas no Node. Ao invés de fazer isso manualmente, você pode achar mais conveniente depender de uma library de terceiros como por exemplo <a href="http://npm.im/async">async</a> ou <a href="http://npm.im/after">after</a>. Mas para esse exercício, tente fazer sem ajuda de nenhuma library externa.</p> <hr> <div class="prenext"> <div class="u-floatLeft"> <a href="http_collect.pt-br.html" class="u-inline-block all-caps">COLETÂNEA HTTP <div></div> </a> </div> <div class="u-textRight u-floatRight"> <a href="time_server.pt-br.html" class="u-inlineBlock all-caps">SERVIDOR DE TEMPO <div></div> </a> </div> </div> <footer> <!-- <ul> <li class="all-caps"><a href="index.html"><strong>Challenges</strong></a></li> <li class="all-caps"> <a href="https://github.com/rvagg/learnyounode/issues/new" target="_blank">Open an Issue</a> </li> </ul> --> </footer> </div> </body> </html>