diff options
| author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-11 17:16:46 -0400 |
|---|---|---|
| committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-11 17:16:46 -0400 |
| commit | 6dd21d8ca48beef6d5054f60d04bb4412b6b33b5 (patch) | |
| tree | 7e70d5766096558834923ce5e34810f12a89a895 /src/client/SocketStub.ts | |
| parent | 6e90a5a7f4d4ed3e92d2ff8af6c1400768c95cd0 (diff) | |
Fixed another subtle server related bug
Added optional capturing to scripts
Diffstat (limited to 'src/client/SocketStub.ts')
| -rw-r--r-- | src/client/SocketStub.ts | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client/SocketStub.ts b/src/client/SocketStub.ts index 257973e3d..5e2ca6a98 100644 --- a/src/client/SocketStub.ts +++ b/src/client/SocketStub.ts @@ -62,10 +62,13 @@ export class SocketStub { public static SEND_FIELDS_REQUEST(fieldIds: FieldId[], callback: (fields: FieldMap) => any) { Utils.EmitCallback(Server.Socket, MessageStore.GetFields, fieldIds, (fields: any[]) => { let fieldMap: any = {}; + let proms: Promise<any>[] = []; for (let field of fields) { - fieldMap[field._id] = ServerUtils.FromJson(field); + let f = ServerUtils.FromJson(field); + fieldMap[field._id] = f; + proms.push(new Promise(res => f.init(res))); } - callback(fieldMap); + Promise.all(proms).then(() => callback(fieldMap)); }); } |
