Одна из ловушек await
и Promise.all
/ race
заключается в том, что вы можете использовать их для не-обещаний, которые будут просто оценивать само значение. Итак, это:
await undefined;
await Promise.all([ undefined, undefined ]);
просто пробежит прямо, без каких-либо предупреждений (хорошо, не совсем, подождет два микротика).
И вот что происходит в вашем случае. Вы не return
обещаете, что создали из checkImage
, поэтому вы в основном вызываете Promise.all
для массива undefined
s.