allow providing a timeout in milliseconds when fetching get self info

This commit is contained in:
liamcottle 2025-02-15 22:11:22 +13:00
parent 41d607a92f
commit 6469b815b1
2 changed files with 14 additions and 3 deletions

View file

@ -177,7 +177,15 @@
async onConnected() {
console.log("connected");
await this.loadSelfInfo();
try {
await this.loadSelfInfo();
} catch(e) {
alert("Disconnected: timed out waiting for self info");
await this.disconnect();
return;
}
await this.loadContacts();
this.connection.on(Constants.PushCodes.Advert, async () => {

View file

@ -345,7 +345,7 @@ class Connection extends EventEmitter {
});
}
getSelfInfo() {
getSelfInfo(timeoutMillis = null) {
return new Promise(async (resolve, reject) => {
// listen for response
@ -353,7 +353,10 @@ class Connection extends EventEmitter {
resolve(selfInfo);
});
// todo add timeout in case user connected to unsupported device
// timeout after provided milliseconds if device did not respond
if(timeoutMillis != null){
setTimeout(reject, timeoutMillis);
}
// request self info
await this.sendCommandAppStart();