Ich habe mir Deine Änderungen in Deinem Repository gerade mal angesehen.
Ist der Grund für Deinen Wunsch nach async gerade an der von Dir umgesetzten Stelle die Performance? Ist das der zeitliche Haupt-Flaschenhals, der bei großen Datenmengen ausbremst? Was soll ich dann mit dem Timeout dort machen? Wenn ich die Folgen richtig verstehe, müsste ich per await / then (oder was auch immer) dafür sorgen, dass es nicht zu Problemen durch async kommt, oder?