Faits :
A.
A._, né en 1956, s'est inscrit à l'office régional de placement de Genève le 6 juin 2018. Il a requis l'allocation d'indemnités de chômage à compter du 4 juin 2018, en indiquant qu'il avait accompli un stage au service de l'hôpital B._ du 1 er au 30 juin 2017 puis y avait travaillé par l'intermédiaire de C._ SA (en qualité de commis administratif) du 3 juillet au 31 décembre 2017, du 1 er janvier au 31 mars 2018 et du 1 er avril au 31 mai 2018.
Par décision du 4 juillet 2018, la caisse cantonale genevoise de chômage (ci-après: la caisse de chômage) a retenu que, durant le délai-cadre de cotisation, soit du 4 juin 2016 au 3 juin 2018, A._ avait travaillé un total de 11 mois et 19 jours. Partant, elle ne pouvait donner suite à la demande d'indemnités de chômage, motif pris que le prénommé ne justifiait pas d'une période de cotisation de douze mois, ni d'un motif de libération.
L'assuré s'est opposé à cette décision, faisant notamment valoir que sa mission auprès de l'hôpital B._ avait duré de manière continue du 1 er juin 2017 au 31 mai 2018 sur la base de quatre contrats de travail. Statuant le 3 août 2018, la caisse de chômage a rejeté l'opposition.
B.
Par jugement du 18 juin 2019, la Chambre des assurances sociales de la Cour de justice de la République et canton de Genève a admis le recours formé par l'assuré contre la décision sur opposition du 3 août 2018. Aussi a-t-elle annulé la décision de la caisse de chômage et renvoyé la cause à celle-ci pour nouvelle décision dans le sens des considérants, à savoir en tenant compte d'une période de cotisation suffisante.
C.
La caisse de chômage forme un recours en matière de droit public. Elle conclut à l'annulation du jugement cantonal et à la confirmation de sa décision sur opposition. Préalablement, elle a requis l'attribution de l'effet suspensif à son recours.
L'intimé conclut au rejet du recours. La cour cantonale et le Secrétariat d'Etat à l'économie (SECO) ne se sont pas déterminés.
D.
Par ordonnance du 4 novembre 2019, le Président de la I re Cour de droit social a accordé l'effet suspensif au recours.
Considérant en droit :
1.
En tant qu'il renvoie la cause à l'administration pour nouvelle décision, le jugement entrepris doit être qualifié de décision incidente, qui ne peut être déférée immédiatement au Tribunal fédéral que si la condition du préjudice irréparable est réalisée ou pour des motifs d'économie de la procédure (art. 93 al. 1 LTF). Lorsqu'une administration ou un assureur social sont contraints par le jugement incident à rendre une décision qu'ils estiment contraire au droit et qu'ils ne pourront eux-mêmes pas attaquer, un tel jugement incident peut être déféré au Tribunal fédéral sans attendre le prononcé du jugement final (cf. ATF 145 V 266 consid. 1.3 p. 269; 145 I 239 consid. 3.3 p. 242; 141 V 330 consid. 1.2 p. 332).
Cette éventualité est réalisée en l'espèce, car l'arrêt attaqué a un effet contraignant pour la caisse recourante en ce sens qu'elle devra rendre une nouvelle décision sur le droit de l'intimé à l'indemnité de chômage tout en considérant que les conditions relatives à la période de cotisation sont remplies.
2.
Aux termes de l'art. 13 al. 1 LACI (RS 837.0), celui qui, dans les limites du délai-cadre prévu à cet effet (art. 9 al. 3 LACI), a exercé durant douze mois au moins une activité soumise à cotisation remplit les conditions relatives à la période de cotisation. Les personnes qui, dans les limites du délai-cadre et pendant plus de douze mois au total, n'étaient pas parties à un rapport de travail peuvent être libérées des conditions relatives à la période de cotisation pour les motifs évoqués à l'art. 14 al. 1 let. a à c LACI.
Selon l'art. 11 al. 1 OACI (RS 837.02), chaque mois civil entier durant lequel l'assuré est soumis à cotisation compte comme mois de cotisation. Les périodes de cotisation qui n'atteignent pas un mois civil entier sont additionnées; 30 jours sont alors réputés constituer un mois de cotisation (art. 11 al. 2 OACI). Les périodes assimilées à des périodes de cotisation au sens de l'art. 13 al. 2 LACI et celles pour lesquelles l'assuré a touché une indemnité de vacances comptent de même (art. 11 al. 3 OACI).
3.
3.1. Le Tribunal fédéral fonde son raisonnement sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF), à moins que ces faits n'aient été établis de façon manifestement inexacte - notion qui correspond à celle d'arbitraire au sens de l'art. 9 Cst. (ATF 145 IV 154 consid. 1.1 p. 155 s.) - ou en violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF).
3.2. En l'espèce, les juges cantonaux ont constaté qu'après son stage, l'intimé avait été engagé par C._ SA et avait accompli trois missions distinctes à durée déterminée pour l'hôpital B._. Il avait signé des contrats de travail temporaire et non un seul et même contrat. Pour calculer la durée de la période de cotisation, la recourante s'était fondée sur une attestation du 3 juillet 2018 de C._ SA, laquelle précisait que l'intimé n'avait pas travaillé les 1 eret 2 juillet 2017 (soit un week-end), ni durant le pont de fin d'année 2017 (entre le 22 décembre 2017 et le 2 janvier 2018) et les jours fériés de Pâques (entre le 29 mars et le 3 avril 2018). Les trois contrats de mission des 6 décembre 2017, 16 janvier 2018 et 4 avril 2018 englobaient toutefois expressément les jours fériés de Pâques et le pont de fin d'année. Aussi la cour cantonale a-t-elle conclu que, si l'on tenait compte du mois de stage et des durées des missions figurant dans les trois contrats, soit cinq mois de juillet à novembre 2017, un mois en décembre 2017 (au lieu de 0,747), deux mois en janvier et février 2018, deux mois en mars et avril 2018 (au lieu de 0,980 et 0,933) et un mois en mai 2018, l'intimé avait exercé une activité soumise à cotisation d'au moins douze mois.
4.
Reprochant à la cour cantonale d'avoir établi les faits de façon manifestement inexacte ou en violation du droit, la recourante fait valoir que les trois contrats de mission étaient distincts, de sorte que le calcul doit se baser sur un découpage au prorata des mois civils sur lesquels portait chaque mission du début à la fin de celle-ci, conformément au ch. B150b du Bulletin LACI IC, publié par le SECO. Dans la mesure où, selon elle, l'intimé n'était pas sous mission durant les fêtes de fin d'année 2017 et de Pâques 2018, il faudrait considérer que les différents engagements ont été interrompus et ne pas prendre en considération les périodes allant du 23 décembre 2017 au 1 er janvier 2018 et du 30 mars au 2 avril 2018.
5.
Le grief est mal fondé. En effet, la condition de la durée minimale d'activité soumise à cotisation s'examine au regard de la durée formelle du rapport de travail considéré et non des jours effectifs de travail (cf. ATF 122 V 256 consid. 4c/bb p. 263; 121 V 165 2c/bb p. 170; arrêt 8C_645/2014 du 3 juillet 2015 consid. 1.1; voir aussi THOMAS NUSSBAUMER, Arbeitslosenversicherung, in Soziale Sicherheit, SBVR vol. XIV, 3 e éd. 2016, p. 2327 n. 212 et 213; BORIS RUBIN, Commentaire de la loi sur l'assurance-chômage, 2014, n° 38 ad art. 13 LACI). En l'occurrence, les juges cantonaux ont bien retenu qu'il existait trois contrats de mission distincts, comme le fait valoir la recourante. Celle-ci ne peut toutefois rien tirer en sa faveur du ch. B150b du Bulletin LACI, en vertu duquel, en cas de missions irrégulières appartenant chacune à différents contrats de travail auprès du même employeur, le calcul de la période de cotisation se base sur un découpage au prorata des mois civils sur lesquels porte la mission, du début à la fin de celle-ci. En l'espèce, quand bien même l'intimé n'a pas travaillé durant les fêtes de fin d'année 2017 et les jours fériés de Pâques, il n'en reste pas moins que, selon les constatations des premiers juges, les contrats de mission, de durée déterminée, couvraient ces périodes. La recourante ne démontre pas en quoi ces constatations, qui lient le Tribunal fédéral, seraient manifestement inexactes ou contraires au droit. En particulier, elle ne prétend pas que les contrats en question auraient été résiliés au 23 décembre 2017, respectivement au 30 mars 2018. Dans ces conditions, il n'y a pas lieu de restreindre la durée des missions dans le sens voulu par la recourante.
Il s'ensuit que le recours est mal fondé et doit être rejeté.
6.
La recourante, qui succombe, doit supporter les frais de la présente procédure (art. 66 al. 1 LTF) et versera à l'intimé une indemnité de dépens (art. 68 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge de la recourante.
3.
La recourante versera à l'intimé la somme de 600 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties, à la Chambre des assurances sociales de la Cour de justice de la République et canton de Genève et au Secrétariat d'Etat à l'économie (SECO).
Lucerne, le 18 décembre 2019
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président : Maillard
La Greffière : Castella