aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/setInterval.test.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-02 00:14:32 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-02 00:14:32 -0700
commit86639fe62a8b94fe68c64846d18de4dcf16c09e6 (patch)
treeb3ac486256249fa9e2b15d33acb4c6312a1075c0 /test/bun.js/setInterval.test.js
parent54e7a6f57a80ac3a9e96348f0f796b219c958b73 (diff)
downloadbun-86639fe62a8b94fe68c64846d18de4dcf16c09e6.tar.gz
bun-86639fe62a8b94fe68c64846d18de4dcf16c09e6.tar.zst
bun-86639fe62a8b94fe68c64846d18de4dcf16c09e6.zip
Improve async function handling code in setTimeout and setInterval
Should fix
Diffstat (limited to 'test/bun.js/setInterval.test.js')
-rw-r--r--test/bun.js/setInterval.test.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/bun.js/setInterval.test.js b/test/bun.js/setInterval.test.js
index f633998cd..de219b92f 100644
--- a/test/bun.js/setInterval.test.js
+++ b/test/bun.js/setInterval.test.js
@@ -33,3 +33,19 @@ it("clearInterval", async () => {
});
expect(called).toBe(false);
});
+
+it("async setInterval", async () => {
+ var remaining = 5;
+ await new Promise((resolve, reject) => {
+ queueMicrotask(() => {
+ var id = setInterval(async () => {
+ await 1;
+ remaining--;
+ if (remaining === 0) {
+ clearInterval(id);
+ resolve();
+ }
+ }, 1);
+ });
+ });
+});