Procs по причинам, упомянутым другими и также, легче настроить proc с профилировщиком или частями proc. Таким образом, Вы не должны говорить кому-то запускать его приложение для обнаружения то, что отправляется на SQL-сервер
, Если Вы действительно используете специальные запросы, удостоверяются, что они параметризованы
Короче, не рассчитывайте на это. Взгляните на этот .
Здесь много информации цифра, чтобы переварить, но понять это полностью даст вам лучшее осознание того, как асинхронный Выполнение JavaScript работает.
Я прочитал исходный код Firefox, и, по крайней мере, для этого браузера есть гарантия последовательности для таймаутов, которые указаны в неубывающем порядке. В противном случае все ставки отключены.
В частности, если в данном контексте выполнения вы устанавливаете тайм-аут для n, а затем один для m, где n <= m, цели будут выполняться в том порядке, в котором были установлены тайм-ауты.
Но не верьте мне на слово. Я считаю, что реализация окна находится в nsGlobalWindow.cpp, а метод, который фактически определяет, где тайм-ауты идут в очереди выполнения, называется InsertTimeoutIntoList . Похоже, что метод проходит очередь в обратном направлении, ища первый тайм-аут, который меньше или равен заданному таймауту, и вставляет заданный тайм-аут после него.
Конечно, когда установлен тайм-аут, текущее время добавляется к значению тайм-аута. Вот почему значения тайм-аута должны быть в неубывающем порядке, чтобы цели выполнялись последовательно.
Существует определенный минимум, который действительно может быть задержкой, и он во многом зависит от ОС, браузера, активности браузера и загрузки компьютера. Я стараюсь не опускаться ниже 20 мс, поскольку считаю, что меньшее значение не имеет никакого значения.
Когда вы устанавливаете две равные задержки, это не обязательно означает, что это произойдет в таком порядке.
Если вы хотите убедиться, что это будет сделано, чтобы я делал что-то вроде этого:
setTimeout(function() {
foo();
setTimeout(bar, 20)
}, 20);
Это всегда будет гарантировать порядок.
Если вы используете Firefox, чтобы убедиться, что ваш javascript действительно многопоточный, вы можете посмотреть WebWorker, который поддерживается в новых браузерах, но не в IE.