Nome: ? | Matrícula: ?

Programação concorrente

Nesta aula vamos usar o site JSONPlaceholder para dar suporte a nossos exemplos práticos.

Para simplificar o código, definimos a variável global ROOT como sendo a URL do JSONPlaceholder.

As funções $.get(url, f) e $.post(url, f) realizam uma requisição AJAX à url e, quando a resposta chega, chama a função f passando o objeto associado à resposta.

Para ver o que a chamada $.get(ROOT + '/users', ...) retorna, basta acessar http://jsonplaceholder.typicode.com/users no seu navegador.

Exemplo simples

Antes de executar o código a seguir, tente prever a ordem de execução das instruções console.log.

function(str, info) { return simplesEval(str, info); }

Algo mais elaborado

O exemplo a seguir deveria buscar o id do usuário com username Delphine e então mostrar o título dos álbuns desse usuário:

function(str, info) { return simplesEval(str, info); }

No entanto, o programador não percebeu que as chamadas de função que realizou são assíncronas, e por isso o programa não funciona como deveria. Conserte o programa.

Gate

Agora você quer pegar o e-mail de todos os usuários pagantes e então exibir os dois e-mails separados por vírgulas (não importa a ordem). (Suponha que a url /users, que retorna todos os dados de todos os usuários, não existe). Corrija o código abaixo:

function(str, info) { return simplesEval(str, info); }