It can't take longer — calls are entirely synchronous. The notification centre acts as a one-to-many messaging clearing house that decouples actors that might want to listen from actors that might want to announce an event.
Supposing you had only exactly the one observer, then your code is equivalent to just calling gotData:
directly. So no further notification can occur until the previous has finished being processed.