В следующих JS фрагмент кодаесть условие гонки в этом javascript?
request = new XMLHttpRequest
request.open('GET', '/my/url', true)
request.send()
request.onload = function() {
data = JSON.parse(this.response)
}
должен уступка от нагрузки быть до отправки(), чтобы избежать состояния гонки. Или браузер справляется с этим для вас (пуская при загрузке, когда вы обходите его, чтобы назначить его).
JavaScript в основном однопоточный, поэтому нет, состояние гонки не существует. –
@PatrickEvans Я уверен, что браузер не будет инициировать запрос до тех пор, пока поток браузера не станет бесплатным. Но я не уверен, что это указано. Я полагаю, что некоторые браузеры могут реализовать это по-другому. –
По крайней мере, считается хорошей практикой размещать обработчики событий перед вызовами 'open()' и 'send()', чтобы убедиться, что это не проблема, даже если шансы тонкие для состояния гонки, так легко убедитесь, что вы его избегаете. – adeneo