>> да на здоровье. я ж сказал, это no-brainer
> Это не no-brainer.я имел в виду свой пример. :3
>> это как это? O_O
> Легко. См. пример выше. Пока юзер ходил по страницам, логика «забыла», что
> он запрашивал вывод списка.
как это «забыла»? это возможно только по истечению некоторого таймаута. что, в принципе говоря, совершенно логичное действие.
а новое окно — новый вызов функции, дел-то. это совсем недорого, а фрэймворк проследит, чтобы вызовами всё не засрали.
> Или второй вариант — юзер оставил страничку
> со списком, процесс на сервере благополучно терминировался по таймауту через 10–15
> минут (час, два), а юзер кликнул на кнопочку в открытой странице.
> Отстреливать? Опять же — сбежит.
отстреливать. не сбежит. а если отстреливать не хочется — тут опять магия: фрэймворк может тупо сериализовать continuation в какое-нибудь хранилище, а потом оттуда достать. это опять ничем не отличается от делания того же самого руками — кроме того, что это делать руками совершенно не надо. сидишь себе и пишешь: «начало». «введите-два-числа()», «если-юзер-слепой-пойти-в-начало». «вывести-сумму()». а то, что ввод может прийти через 20 лет — софтине совершенно пофигу, её это никак не интересует. разве что можно поставить ловушку на ситуацию «ввод не придёт вообще никогда», чтобы что-нибудь за собой почистить.
помнишь, как писал первые программки такого типа? вот и не надо усложнять, можно так же и продолжать писать. без заморочек о том, что «это веб».