[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: [],