I'd pull out the sunscreen stick from my purse to keep her busy and then scold her for eating it. This is where I would start to get a little tense. "Shh, I'm almost done. It's okay." That would be my impatient attempt at comfort.
This is where I've learned an important lesson from my husband. He totally engages my daughter in situations like this. Instead of dismissing her feelings or trying to hush her, he makes her a part of the conversation. "Look at all these crayons! We need to pick out some. Which ones should we get? The big box, or the little box?"
He does this in grocery stores, around the house, and when he's trying to get her to clean up her toys. Instead of just bossing her, "Clean up all your blocks!" he'll say, "Can you find all the red ones? Good job! See if you can find the ones with the blue and green colors."
It's true; it takes a lot more patience and creativity than just repeating yourself over and over. But in the long run, it will help you both out. It's a perfect example of taking an "every day" situation and turning it into a learning opportunity. Because of his example, I was reminded to do this today. Little Olive was beside herself before dinner. (Just like her mommy, she turns into a bear when she's hungry.) She was crying and wanted me to hold her. In the past, I've often told her, "It's okay; we're almost ready to eat. Don't be sad."
Today I asked, "Hey! Do you want to set the table for me?? Here - take the spoons and put them on the table." She instantly perked up and proceeded to bring all the spoons, bowls, and cups we needed into the dining room. Granted, she placed them in the most adorable, precarious piles at the very edge of the table, but it totally bought me five extra minutes to finish dinner. I highly recommend this tactic. Thanks, Ian.