Socket.IO — JavaScript-библиотека для веб-приложений и обмена данными в реальном времени. Состоит из двух частей: клиентской, которая запускается в браузере и серверной для node.js. Оба компонента имеют похожее API. Подобно node.js, Socket.IO событийно-ориентированная.
Socket.IO главным образом использует протокол WebSocket, но если нужно, использует другие методы, например Adobe Flash сокеты, JSONP запросы или AJAX запросы[2], предоставляя тот же самый интерфейс. Помимо того, что Socket.IO может быть использована, как оболочка для WebSocket, она содержит много других функций, включая вещание на несколько сокетов, хранение данных, связанных с каждым клиентом, и асинхронный ввод/вывод
Может быть установлена через npm (node package manager)
get formResendEmail() {
return formResend.controls['email'] as FormControl
}
(click)="setErrorMessage(formResendEmail)"
public toFormControl(point: AbstractControl): FormControl {
return point as FormControl;
}
.then(HtmlResult => HtmlResult.text())
.then(tmpHtml => {
console.log('html result ->> ', tmpHtml);
return tmpHtml;
})
let html = await apiManager.makeRequest(data['key'], data['id'], comment) console.log(' -- from async html await func console->>> ', html ); // тут переменная html == undefined
makeRequest: (key, id, comment ) =>{
return fetch(`url2`,{
method: "POST",
.....
await Promise.all(doc.map(item => (async(item) { /* ... */ })(item)))
Promise.all
- принимает массив промисов(async(item) { /* ... */ })(item)
- async IIFE, возвращающее промисdoc.map(item => ...)
- делает массив event.preventDefault()
для того, чтобы браузер не переходил по ссылке. async function delayedPromise(cb) {
const delay = () => new Promise(resolve => setTimeout(resolve, 3000));
const result = await Promise.all([cb(), delay()]);
return result[0];
}
async function runPromisesInSequence(promises) {
for (let promise of promises) {
console.log(await delayedPromise(promise), new Date());
}
}
const pr1 = () => new Promise(res => setTimeout(() => res('r1'), 1000));
const pr2 = () => new Promise(res => setTimeout(() => res('r2'), 5000));
const pr3 = () => new Promise(res => setTimeout(() => res('r3'), 0));
const y = [pr1, pr2, pr3];
runPromisesInSequence(y);
const pr1 = new Promise(res => setTimeout(() => res('r1'), 1000));
<ul id="example-2">
<li v-for="(item, index) in items">
{{ parentMessage }} - {{ index }} - {{ item.message }}
</li>
</ul>
<ul id="example-2">
<li v-for="(item, index) in items" @click="selectAllExcept(index)">
{{ parentMessage }} - {{ index }} - {{ item.message }}
</li>
</ul>
methods: {
selectAllExcept(index) {
this.items.forEach((el, i) => {
el.selected = i !== index;
})
}
}
Плюс при билде проекта, мы получаем файлы, которые нельзя запустить без локального сервера?