;(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

Ana Maria Braga ensina a fazer arroz caldoso; aprenda a receita

Arroz Caldoso tem cachaça como ingrediente, é feito em 2h30 e rende até 6 porções - Reprodução/TV Globo
Arroz Caldoso tem cachaça como ingrediente, é feito em 2h30 e rende até 6 porções Imagem: Reprodução/TV Globo

De Nossa, em São Paulo

06/07/2020 11h42Atualizada em 06/07/2020 12h09

Arroz caldoso foi a receita de hoje feita por Ana Maria Braga no programa "Encontro com Fátima Bernardes", da TV Globo.

Uma receita de preparo fácil, que leva em torno de 2h30 para ser feita e que rende até 6 porções.

Ingredientes

  • 600 gramas de patinho cortado em bifes grossos (com cerca de 2cm)
  • 1 xícara de chá de linguiça cortada (cubos pequenos)
  • 1 colher de chá de cominho em pó
  • Meia colher de sopa de sal
  • 1 fio de óleo
  • Meia xícara de chá de cebola picada
  • Meia xícara de chá de bacon picado
  • 3 folhas de couve fatiadas (100g)
  • 1/4 (60ml) de xícara de chá de cachaça
  • Meia colher de sopa de alho picado
  • 800ml de água quente
  • 1 xícara (200g) de chá de arroz parboilizado
  • 700ml de água quente
  • Meia colher de sopa de páprica picante
  • 200 gramas de queijo coalho (ralado)
  • 3 folhas folhas de louro
  • Caldo da marinada reservado

Modo de preparo

Pegue 600 gramas de patinho cortado em bifes grossos (com cerca de 2cm). Tempere os bifes com 60ml de cachaça, a meia colher de páprica, meia colher de sopa de sal e 1 colher de cominho em pó. Por uma hora deixe a mistura marinar.

Em fogo médio, dentro de uma a de pressão, coloque 1 fio de óleo e deixe os bifes dourarem. Guarde a marinada.

Após dourar, coloque meia xícara de chá de cebola, 1 xícara de linguiça (em cubos pequenos), meia xícara de bacon, meia colher de sopa de alho picado, 3 folhas de louro. Por mais um tempo, deixe os ingredientes dourarem.

Coloque 800ml de água quente e o caldo da marinada que foi guardado anteriormente na mesma a de pressão com os outros ingredientes. Tampe e deixe cozinhar por 35 minutos após pegar pressão.

Após tirar da pressão, mexa e corte a carne para deixá-la bem desfiada. Coloque 1 xícara de chá de arroz parboilizado e 700ml de água quente.

Tampe novamente e coloque no fogo. Após pegar pressão, deixe por mais 5 minutos.

Desligue o fogo, retire a pressão. Adicione 3 folhas de couve na a e mexa.

Se desejar, na hora de servir, coloque queijo coalho ralado no fundo de um prato. Em cima, coloque o arroz com a carne e cubra o prato com um ovo frito.