RxJS. Delay from array
import { of, from } from 'rxjs';
import { map, concatMap, delay } from 'rxjs/operators';
from([2,4,6,8]).pipe(
concatMap(item => of(item).pipe(delay(1000)))
).subscribe(console.log); Stackblitz (in console):
import { of, from } from 'rxjs';
import { map, concatMap, delay } from 'rxjs/operators';
from([2,4,6,8]).pipe(
concatMap(item => of(item).pipe(delay(1000)))
).subscribe(console.log); Stackblitz (in console):
function updateURL() {
if (history.pushState) {
var baseUrl = window.location.protocol + "//" + window.location.host + window.location.pathname;
var newUrl = baseUrl + '?tyapk=awesome';
history.pushState(null, null, newUrl);
}
else {
console.warn('History API не поддерживается');
}
} Показательная и востребованная задача. Получение набираемого запроса из поля ввода через полсекунды после того, как пользователь закончил ввод с показом лоадера.
function getQueryParam(item) {
var svalue = window.location.search.match(new RegExp('[\?\&]' + item + '=([^\&]*)(\&?)', 'i'));
return svalue ? svalue[1] : svalue;
}
// /foo/bar/baz.html?lang=ru
var lang = getQueryParam('lang') || 'en'; Builder (cтроитель) - порождающий шаблон программирования. Применяется для создания сложных объектов при помощи цепочки методов someBuilder->setValueA(1)->setValueB(2)->build()
Add dist folder of dependency libs to main tsconfig.json and run command
nx run need:build --with-deps