Максим Ленский, ну а как тогда код работает на тостере при клике на "/q/627749#clarification_690180" допустим window.history.pushState({}, '', '/q/627749')
Максим Ленский, так погоди, ты считал хэш, сделал pushState() а у тебя сайт то умеет слушать изменение истории и реагировать на это? как это делают Энгуляр, Реакт
Максим Ленский, логика такая:
1) ты хэндлишь клик по ссылке, превентишь ее действие, читаешь ее урл (он должен быть the same domain вроде как)
2) делаешь window.history.pushState({}, '', url)
какой из этих шагов не работает? и как ты замеряешь что работает/не работает
ince, написано же, на примере кипячения чайника - значит это и относится к асинхронно, с рубашкой неважно. Суть асинхронности такова, что ты не дожидаешься от метода сигнала его завершения (прерывания) и исполняешь логику представив что он завершился (но по факту он может быть "в процессе").
вот так new Promise(resolve=>setTimeout(resolve,1e3))
promise придумали не для этого, а разделения очереди на макротаски (settimeout) и микротаски (promise)
если все так как ты описал, то равновероятно же
если это не устраивает, то можно вести словарь, ключ - число, значение - кол-во выпаданий, тогда кол-во выпаданий/общее число экспериментов
Петр, +1 заводить на каждое соединение по потоку - полный бред, траты на стэк + время на свитч контекста... подход типичного джависта, по-другому не звать
window.history.pushState({}, '', '/q/627749')