Skip to content

Instantly share code, notes, and snippets.

View hsiaosiyuan0's full-sized avatar
🐝

hsiaosiyuan0

🐝
  • NetEase
  • 06:33 (UTC +08:00)
View GitHub Profile
@istarkov
istarkov / serialize.js
Last active August 8, 2023 20:59
Serialize promise calls (run promises sequentially)
// promise
const sleep = (timeout, v) => new Promise(r => setTimeout(() => r(v), timeout));
// series to call
const series = [() => sleep(1000, 1), () => sleep(1000, 2), () => sleep(1000, 3)];
// serialize
const r = series
.reduce(
(m, p) => m.then(v => Promise.all([...v, p()])),
Promise.resolve([])