In the main loop I would just periodically call updateDHT(); based on :
if (millis() % 120000 == 0) updateDHT(); // Will update the DHT sensors readings every 2-minutes, or whatever
OR
void loop() {
if (readyForWeatherUpdate && ui.getUiState()->frameState == FIXED) {
updateData(&display);
updateDHT();
}