aboutsummaryrefslogtreecommitdiff
path: root/src/client/SocketStub.ts
diff options
context:
space:
mode:
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));
});
}