aboutsummaryrefslogtreecommitdiff
path: root/src/client/SocketStub.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-04-11 17:16:46 -0400
committerTyler Schicke <tyler_schicke@brown.edu>2019-04-11 17:16:46 -0400
commit6dd21d8ca48beef6d5054f60d04bb4412b6b33b5 (patch)
tree7e70d5766096558834923ce5e34810f12a89a895 /src/client/SocketStub.ts
parent6e90a5a7f4d4ed3e92d2ff8af6c1400768c95cd0 (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.ts7
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));
});
}