Es geht um CSS-Dateien?! Dann sieht die Sache anders aus.
Eine direkte Asynchronität kenne ich da auch nicht, aber es gibt Ansätze, das Rendering zu unterbrechen, indem man für das media-Attribut einen fiktiven Wert angibt, der nach dem Laden des DOM bspw. auf "screen" gesetzt wird, um das Rendering dann wieder aufzunehmen.
Man sollte dann nur dafür sorgen, für Browser mit deaktiviertem JS die CSS-Dateien per <noscript> korrekt zu laden.
Selber verwendet habe ich das noch nie, aber es sollte in etwa so aussehen
( <head>-Bereich Deines Dokumentes ):
Code:
<link rel="stylesheet" href="style.css" media="foobar">
<noscript>
<link rel="stylesheet" href="style.css" media="screen">
</noscript>
<script>
window.onload = function() {
_links = document.querySelectorAll( 'link[rel="stylesheet"]' );
_links.forEach( function(key, oLink) {
oLink.setAttribute( 'media', 'screen' );
});
}
</script>
Alles frei aus der Hüfte, also kann durchaus Fehler enthalten. Aber die Vorgehensweise sollte deutlich werden, denke ich...
Bevor man sowas allerdings in Bezug auf Performance hernehmen will, sollte man erstmal grundlegend optimieren, bspw. CSS und JS minimiert und/oder komprimiert ausliefern, Bilder komprimieren, etc. Das bringt alles bei weitem deutlich mehr, als so ein Vorhaben.