Fix disconnect (#68)

pull/34/head
Paulus Schoutsen 4 years ago committed by GitHub
parent 24f234c000
commit 9cd1c74d7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -11,6 +11,7 @@ This project is used by the [ESP Web Tools](https://github.com/esphome/esp-web-t
- Clone this repository.
- Install dependencies with `npm`
- Run `script/develop`
- Open http://localhost:5004/
## Fork

1
package-lock.json generated

@ -5,6 +5,7 @@
"requires": true,
"packages": {
"": {
"name": "esp-web-flasher",
"version": "3.2.0",
"license": "MIT",
"dependencies": {

@ -1,6 +1,6 @@
{
"name": "esp-web-flasher",
"version": "3.2.0",
"version": "4.0.0",
"description": "Flash ESP devices using WebSerial",
"main": "dist/index.js",
"repository": "https://github.com/nabucasa/ESP-Web-flasher",

@ -11,7 +11,7 @@ trap "kill 0" EXIT
# Run tsc once as rollup expects those files
npm exec -- tsc || true
npm exec -- serve &
npm exec -- serve -p 5004 &
npm exec -- tsc --watch &
npm exec -- rollup -c --watch &
wait

@ -150,10 +150,10 @@ export class ESPLoader extends EventTarget {
}
} catch (err) {
console.error("Read loop got disconnected");
// Disconnected!
this.connected = false;
this.dispatchEvent(new Event("disconnect"));
}
// Disconnected!
this.connected = false;
this.dispatchEvent(new Event("disconnect"));
this.logger.debug("Finished read loop");
}
@ -1148,11 +1148,14 @@ export class ESPLoader extends EventTarget {
await this._parent.disconnect();
return;
}
if (this._reader) {
await this._reader.cancel();
}
await this.port.writable!.getWriter().close();
await this.port.close();
await new Promise((resolve) => {
if (!this._reader) {
resolve(undefined);
}
this.addEventListener("disconnect", resolve, { once: true });
this._reader!.cancel();
});
this.connected = false;
}
}

Loading…
Cancel
Save