;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Aprenda 5 molhos para servir com cordeiro e turbinar os sabores da carne

De Nossa

08/04/2022 09h43

De sabor adocicado, a carne de cordeiro é delicada e marcante ao mesmo tempo. Ela pede de acompanhamento molhos que se destacam pela acidez, seja ela vinda do limão ou do vinagre, ou pelo frescor.

No episódio de "Cozinha por Aí" em que Pedro de Bem prepara um carré, o influencer ensina a fazer um delicioso e refrescante molho de hortelã. O o a o é simples.

Comece destacando as folhas do ramo e picando com uma faca afiada sem danificar demais a planta. Cubra o fundo de uma a com um pouco de azeite e leve ao fogo baixo.

Cozinha por Aí - cordeiro, chimarrão e molho - Cozinha por Aí/UOL - Cozinha por Aí/UOL
Carré sob molho fresco de hortelã
Imagem: Cozinha por Aí/UOL

Coloque a hortelã picado na frigideira e espere infusionar por 20 minutos, tomando cuidado para não amargar. Ou seja, aguardar o líquido "puxar" os aromas das folhas. Tempere com sal e pimenta-do-reino.

Mais receitas

Confira outras opções bacanas de molho que casam bem com a carne de cordeiro:

1. Chimichurri

O molho típico da Argentina e do Uruguai é ácido e ajuda quebrar a gordura da carne.

Molho chimichurri

Dificuldade Fácil
1 porções
15 min
Ver receita completa

2. Barbecue

O molho tradicional norte-americano também está presente na mesa da Nova Zelândia, um dos maiores exportadores e consumidores de carne de cordeiro do mundo.

Molho barbecue

Dificuldade Fácil
15 min
Ver receita completa

3. Mostarda e mel

A combinação, de sabor agridoce com toque defumado, dá um contraste especial ao estilo francês.

Mostarda e mel

Dificuldade Fácil
Ver receita completa

4. Salsa Criolla

A receita uruguaia lembra o nosso vinagrete, mas com outros ingredientes. Leva tomates, pimentões, cebola, alho, pimenta e azeite.

Salsa criolla

Dificuldade Fácil
Ver receita completa

Cozinha por Aí
Relembre a temporada

Cozinha por Aí - cordeiro, chimarrão e molho - Cozinha por Aí/UOL - Cozinha por Aí/UOL
Na 1ª temporada de "Cozinha por Aí", Pedro viajou pelo Rio Grande do Sul
Imagem: Cozinha por Aí/UOL

Quer mais receitas na brasa e belos cenários ao sul do país? Assista aos preparos de bife ancho e camarões na praia de Atlântida, aprenda a fazer espetinhos e peixe na brasa às margens do rio na linda região de Maquiné, confira a barriga de porco em Cachoeira do Sul e entenda todo o processo do nhoque de mandioquinha, da pizza na churrasqueira e do pancho, o hot dog uruguaio, no vinhedo Altos da Pinta, na cidade de Pinto Bandeira.