[dawn][emscripten] Fix promise handling and pass callback.
- Before the code was effectively doing:
```
let ret = resolve(futureId);
promise.finally(ret);
```
With the lambda wrapping the resolve call, the callback
only happens after the resolution of the parent promise.
Bug: 358445329
Change-Id: I9aca5e3476b08660780a32cac6d2cb8d70360ed1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/203420
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
Auto-Submit: Loko Kung <lokokung@google.com>
Reviewed-by: Shrek Shao <shrekshao@google.com>
diff --git a/third_party/emdawnwebgpu/library_webgpu.js b/third_party/emdawnwebgpu/library_webgpu.js
index 0041c10..0d05bbb 100644
--- a/third_party/emdawnwebgpu/library_webgpu.js
+++ b/third_party/emdawnwebgpu/library_webgpu.js
@@ -95,7 +95,7 @@
#if ASYNCIFY
var futureId = futureIdH * 0x100000000 + futureIdL;
WebGPU._futures[futureId] =
- new Promise((resolve) => promise.finally(resolve(futureId)));
+ new Promise((resolve) => promise.finally(() => resolve(futureId)));
#endif
},
_waitAnyPromisesList: [],