Используйте силу rxjs.
import { of, from } from 'rxjs';
import { delay, concatMap, mergeMap } from 'rxjs/operators';
const source = of(tracingArray).pipe(
mergeMap((x: [Tracing]) => from(x)),
concatMap(x => of(x).pipe(delay(2000)))
);
source.subscribe(x => console.log(x));
(правка: образец с массивами) По сути, все, что вам нужно сделать, это разделить tracingArray на куски (несколько подмассивов), которые затем будут отображаться каждые 2 с.
@ Крис, у вас оно почти есть.
ORDER BY (CASE WHEN [Submission Date] IS NULL THEN 1 ELSE 0 END) DESC,
[Submission Date] DESC
[Редактировать: #Eppz попросил меня настроить приведенный выше код, как показано в данный момент]
Я лично предпочитаю это намного лучше, чем создавать «магические числа». Магические числа почти всегда являются проблемой, ожидающей своего появления.
Вы можете сделать что-то вроде этого, поместив NULL внизу:
ORDER BY [Submission Date] IS NULL DESC, [Submission Date] ASC
попробуйте это
ВЫБРАТЬ a, b, c, [Дата отправки] ИЗ someView СОРТИРОВАТЬ ПО isnull ([Дата представления], приведение («1770/01/01» в качестве даты и времени)) ASC
Стандартный SQL (ISO / IEC 9075-2: 2003 или более поздняя версия - 2008) предусматривает:
ORDER BY SomeColumn NULLS FIRST
Большинство СУБД фактически не поддерживают это, AFAIK.
try
SELECT a,b,c,[Submission Date]
FROM someView
ORDER BY isnull([Submission Date],cast('2079/01/01' as datetime)) ASC