class A {
id = 1;
convert<T>(func: (a: A) => T): T {
return func(this);
}
}
const a = new A();
const b = a.convert<{ id: string }>(a => { return { id: a.id.toString() } });
Криворуких может и много ). А вы можете описать в целом какую ошибку допустили на сворачивание? Как ее обойти? Отсылка на криворукость также не аргумент ). Возможно стоит признать, что у Vue есть архитектурные ограничения. Думаю ваши мысли будут интересны не только мне, но и другим читателям). Заранее спасибо
Клиент мобильной web-версии Маркета мы перевели на React + Redux. Почему не на Vue.js? Мы устроили соревнование между двумя фреймворками. Две команды энтузиастов портировали страницу поисковой выдачи Маркета на обе технологии. По итогам внутренних бенчмарков и тестов React в нашем проекте показал себя лучше.
идея посмотреть, как на колбэках все это будет выглядить, насколько код будет лаконичен и приятен в сравнении с промисами, а не возможность ее решения)
winform на c#, там можно писать вот такие штуки(пример из stackoverflow):
private async void button_Click(object sender, EventArgs e)
{
await LongOperation();
}
в js это будет так:
buttonEl.addEventListener(«click», buttonClick, false);
function buttonClick(e)
{
longOperation().then(......);
}
Было бы круто так, но это не поддерживают браузеры:
buttonEl.addEventListener(«click», buttonClick, false);
async function buttonClick(e)
{
await longOperation();
}
async/await удобная штука, но только там где не придется писать часто .then в конечном потребителе. Браузеры не поддерживают асинхронные события. Получается везде придется все равно обрабатывать результат. Как по мне вся прелесть тает. Да и на ui редко много вложенных асинхронных вызовов. А вот если писать webserver на node.js, то там это как глоток воды в жару). На клиенте вместо promise лучше использовать rxjs. rxjs гибче и предоставляет много возможностей. Простой пример из жизни: SPA, пользователь зашел на route1, не дожидаясь результата запроса с сервера перешел на route2. rxjs позволяет отписаться от observable. При этом на отписку можно настроить abort http запроса
Путаете народ ). gulp библиотека широко профиля чем webpack. Например предлагает манипуляции с git. webpack заточен чисто под сборку фронтенд кода, 95% необходимых задач закрывает и не только es модулей).
Мне интересно как это gulp делает минификацию и прочее сам по себе). Там необходимо вызывать соотвествующие обработчики, которые по сути аналоги лодеров.
Насчет производительности gulp или webpack ничего сказать не могу(не тестил и не изучал), но собирать фронтенд на webpack в разы приятнее и необязательно SPA)
как будто вернулся на 4-5 лет назад). Для сборки клиента есть webpack или различные cli. Gulp лучше применять там, где заканчивается зона действия сборщика клиента
interface C {
x: string
}
export type D = Omit<C, 'x'> & { x: number };
Также интересный момент: habr.com/ru/company/yandex/blog/486146
40:50 про скрывание аккардиона на gitlab — будет интересно узнать интересный момент в vue )
www.youtube.com/watch?v=0cFoEPhv2II
private async void button_Click(object sender, EventArgs e)
{
await LongOperation();
}
в js это будет так:
buttonEl.addEventListener(«click», buttonClick, false);
function buttonClick(e)
{
longOperation().then(......);
}
Было бы круто так, но это не поддерживают браузеры:
buttonEl.addEventListener(«click», buttonClick, false);
async function buttonClick(e)
{
await longOperation();
}
async function load(){}
window.addEventListener(«load», load, false);
а не писать каждый раз .then
Мне интересно как это gulp делает минификацию и прочее сам по себе). Там необходимо вызывать соотвествующие обработчики, которые по сути аналоги лодеров.
Насчет производительности gulp или webpack ничего сказать не могу(не тестил и не изучал), но собирать фронтенд на webpack в разы приятнее и необязательно SPA)