when() for async Promise
fix optional executor arg; must be constant