Подключение и выполнение javascript
Update: Более новый материал по этой теме находится по адресу https://learn.javascript.ru/hello-world.
- Подключение в любом месте
- Вынос скриптов в заголовок
HEAD - Внешние скрипты
В этом разделе мы понемногу рассмотрим все основные элементы javascript. Это позволит тут же писать и тестировать простейшие скрипты.
Javascript подключается напрямую в HTML-файл. Самый простой способ — это написать javascript-команды внутрь тега <script> где-нибудь в теле страницы.
Когда браузер читает HTML-страничку, и видит <script> — он первым делом читает и выполняет код, а только потом продолжает читать страницу дальше.
Так, в следующем примере будет показано начало страницы, затем три раза выполнится функция alert, которая выводит окошко с информацией, а только потом появится остальная часть страницы.
<html>
<body>
<h2>Считаем кроликов</h2>
*!*
<script type="text/javascript">
for(var i=1; i<=3; i++) {
alert("Из шляпы достали "+i+" кролика!")
}
</script>
*/!*
<h2>...Посчитали</h2>
</body>
</html>
В этом примере использовались следующие элементы.
- <script type=»text/javascript»> … </script>
- Тег
<script>сообщает браузеру о том, что внутри находится исполняемый скрипт. Атрибутговорит о том, что это javascript. Вообще говоря, атрибут может отсутствовать — разницы нет, но с точки зрения стандарта его следует указать. type - Конструкция for
- Обычный цикл, по синтаксису аналогичный другим языкам программирования.
- Объявление var i
- Объявление переменной внутри цикла:
i— локальная переменная. - Функция alert
- Выводит сообщение на экран и ждет, пока посетитель не нажмет ОК
Обычно javascript стараются отделить от собственно документа.
Для этого его помещают внутрь тега , а в теле страницы по возможности оставляется чистая верстка.
В следующем примере javascript-код только описывает функцию count_rabbits, а ее вызов осуществляется по нажатию на кнопку input.
<html>
<head>
*!*
<script type="text/javascript">
function count_rabbits() {
for(var i=1; i<=3; i++) {
// оператор + соединяет строки
alert("Из шляпы достали "+i+" кролика!")
}
}
</script>
*/!*
</head>
<body>
*!*<input type="button" value="Считать кролей!"/>*/!*
</body>
</html>
Для указания запускаемой по клику функции в input был использован атрибут onclick. Это лишь вершина мощного айсберга javascript-событий.
Обычно javascript-код вообще не пишут в HTML, а подключают отдельный файл со скриптом, вот так:
<script src="/my/script.js"></script>
При этом файл /my/script.js содержит javascript-код, который иначе мог бы находиться внутри тега <script>.
Это очень удобно, потому что один и тот же файл со скриптами можно подключать на разных страницах. При правильных настройках сервера браузер закеширует его и не будет скачивать каждый раз заново.
Чтобы подключить несколько скриптов — используйте несколько таких тегов:
<script src="/js/script1.js"></script> <script src="/js/script2.js"></script> ...
При указании атрибута src содержимое тега игнорируется.То есть одновременно подключить внешний файл и написать что-то внутри тега нельзя. Придется делать два разных тега <script>: первый с src, второй — с командами, которые будут выполнены после выполнения внешнего файла.
Современное оформление тэга <script>.
На плохое оформление сейчас ругается только валидатор. Поэтому эту заметку можно не читать.
Однако, знать это полезно хотя бы для того, чтобы сразу отличать современный и профессиональный скрипт от написанного эдак лет 5-6 назад.
- Атрибут
<script type=...> - По стандарту этот атрибут нужен для указания языка скрипта, но по умолчанию принят javascript, поэтому даже атрибута
typeнет — все работает ок. Но валидатор будет ругаться, т.к стандарт требует этот атрибут. Иногда используют<script type="text/html">как оригинальный способ добавить неотображаемые данные на страницу. Браузер не исполняет и не показывает<script>с неизвестным типом. В этом плане он ничем не отличается от обычного <div> с вечнымstyle="display:none". - Атрибут
<script language=...> - В старых скриптах нередко можно увидеть атрибут
language.
Этот атрибут давно мертв и никому не нужен. Не используйте его для javascript. - Комментарии до и после скрипта
- В старых руководствах по javascript встречается указание «прятать» javascript-код от старых браузеров, заключая его в HTML-комментарии <!— … —>.
Браузер, от которого прятали код (старый Netscape), давно умер. Современные браузеры комментарии просто игнорируют. Не ставьте их.
Как подключить JavaScript к сайту / Skillbox Media
Слева: порядок загрузки элементов заглавной страницы skillbox.ruЛюбые скрипты вставляются в HTML с помощью тега <script>. Между открывающим и закрывающим тегом вставляем или сам код скрипта, или ссылку на внешний файл.
Чтобы встроить JavaScript в HTML, открываем файл HTML в любом текстовом редакторе, добавляем теги
htm).
<html>
<script>
alert("Привет, Skillbox")
</script>
</html>
Во многих случаях лучше загружать скрипт из внешнего файла. Такой вариант используется, если мы загружаем какой-то стандартный файл .js из внешнего источника, например библиотеку jQuery. Или если этот «скрипт» на самом деле представляет большое веб-приложение, которое разрабатывается отдельно. Загрузка из внешнего файла всегда лучше, если наша программа JavaScript нужна нескольким веб-страницам.
Для подключения внешнего файла мы опять используем открывающий и закрывающий теги <script>…</script>, но между ними указываем не код программы, а путь к файлу с расширением .js, где записан этот код программы.
В нашем примере программу alert(«Привет, Skillbox») мы сохраняем в отдельный файл skill.js, а относительный или абсолютный путь к нему прописываем между тегами <script>.
..</script> с атрибутом src=»».
<script src="/js/skill.js"></script>
или
<script src="https://skillbox.ru/js/skill.js"></script>
Результат выполнения скрипта, загруженного таким образом, не отличается от выполнения кода, прописанного непосредственно в странице HTML.
На странице можно указать любое количество файлов .js, которые будут скачаны и запущены на выполнение. Теги вставляются в произвольные места страницы или перечисляются друг за другом:
<script src="https://skillbox.ru/skill.js"></script>
<script src="https://www.google-analytics.com/analytics.js"></script>
В одном теге <script> нельзя одновременно и подключить внешний скрипт, и указать код. Придется выбрать что-то одно.
По статистике HTTP Archive, в июне 2018 года средний размер веб-страницы в интернете составил1720 КБ.
За восемь лет он вырос в 3,7 раза. Есть несколько причин такого «ожирения» страниц, в том числе увеличение размера графических изображений (с 226 до 890 КБ, в 3,8 раза). Но в относительных цифрах за восьмилетний период сильнее всего выросла доля JavaScript, то есть внешних файлов .js, которые загружаются вместе со страницей HTML. Их объем увеличился с 89 до 371 КБ, то есть в 4,18 раза!
К сожалению, именно скрипты становятся главной причиной подтормаживаний. Пользователю приходится несколько секунд ждать загрузки страницы, а потом она некоторое время не реагирует на ввод с тачскрина, движения мышью или нажатия с клавиатуры. Когда начинает реагировать, то перегруженная скриптами страница может двигаться по экрану рывками при прокрутке и продолжит подтормаживать, при этом максимально загружая процессор.
Дело в том, что загрузка скриптов влияет на самую главную метрику производительности: время до появления интерактивности (Time to Interactive).
Например, изображения на странице практически не влияют на эту метрику, потому что они не блокируют загрузку элементов интерфейса, а вот скрипты выполняются в основном потоке, то есть находятся на критичном пути рендеринга. Поэтому ни в коем случае нельзя безгранично раздувать количество скриптов на странице. Если пользователь с настольного компьютера или ноутбука еще кое-как загрузит страницу, то пользователь на смартфоне может ее не дождаться. Через десять секунд ожидания он просто закроет страницу.
При добавлении скриптов на страницу нужно помнить, что у каждой страницы есть бюджет по времени и по объему скриптов. Для нормальной загрузки страницы на мобильных устройствах специалисты рекомендуют удерживать бюджет страницы в пределах 200 килобайт сжатых скриптов. Это разархивируется более чем в 1 мегабайт кода, который браузеру нужно разобрать и выполнить.
Браузер отображает страницу сверху вниз, создавая DOM-элементы по мере продвижения по HTML-документу.
Если мы помещаем теги <script> в конце, то файлы JavaScript будут открыты одними из последних и не слишком повлияют на критичный путь рендеринга. И наоборот, если разместить тег <script> в начале страницы, то по стандарту браузер обязан сначала выполнить этот скрипт, а уже потом показать оставшуюся часть страницы. Это одна из главных причин подтормаживаний при загрузке страниц.
Поэтому есть смысл переносить в конец страницы ссылки на некритичные скрипты, такие как счетчики, скрипты аналитики и реклама.
Более грамотный способ решить проблему с загрузкой «медленных» внешних скриптов — асинхронная загрузка с помощью атрибута async. Если с тегом <script> указан такой атрибут, то браузер не будет ждать загрузки и выполнения этого скрипта, прежде чем показать оставшуюся часть страницы.
<script src="https://skillbox.ru/skill.js" async></script>
<script src="https://www.
google-analytics.com/analytics.js" async></script>
Кроме async, существует атрибут defer. Он тоже обеспечивает асинхронную загрузку, но при этом гарантирует, что скрипты будут выполняться в том порядке, в каком указаны на странице, а также ждет обработки всего HTML в браузере. Это важно, если скрипты зависят друг от друга и от контента HTML-страницы.
<script src="https://skillbox.ru/skill.js" defer></script>
<script src="https://www.google-analytics.com/analytics.js" defer></script>
Мобильные и десктопные устройства при загрузке веб-страниц кардинально отличаются по производительности. Но современные сайты часто создаются с адаптивным дизайном, рассчитанным на загрузку как в десктопных, так и в мобильных браузерах. При расчете бюджета страницы желательно ориентироваться на среднее устройство под операционной системой Android. По статистике, это смартфон стоимостью примерно 200 долларов, который работает в медленной сети 3G с временем приема-передачи пакета 400 миллисекунд и пропускной способностью канала 400 кбит/с.
Существует универсальный инструмент WebPageTest, который тестирует скорость загрузки страниц в зависимости от параметров связи. Так, на странице webpagetest.org/easy тестируется именно указанная конфигурация с медленным 3G, типичная для мобильных пользователей. Профиль Moto G4 близок к среднему абонентскому устройству.
Порядок выполнения скриптов и загрузки остальных элементов главной страницы skillbox.ru. Зеленая вертикальная черта соответствует ключевому показателю TTI, то есть моменту появления интерактивности:10 секунд с момента начала загрузки на медленном 3G. Полная загрузка всех элементов занимает 57,7 с (полная версия скриншота) Многие разработчики делают типичную ошибку, когда проверяют скорость загрузки страницы и производительность сайта на своем топовом айфоне в быстром городском соединении. Конечно, в офисе у всех сайт загружается идеально, и у начальства тоже. Но у большинства пользователей нет таких условий.
По мере работы с JavaScript вы узнаете много возможностей этого языка программирования. Конечно, есть соблазн применить на практике все знания. Но всегда следует помнить о бюджете и максимальном времени, которое люди на простеньких Android-смартфонах готовы ждать загрузки вашей страницы. Эти знания обязательно придут с опытом.
Читайте также:
Руководство по подключению— Node.js
Документы Главная → Node.js
На этой странице
- URI подключения
- Другие способы подключения к MongoDB
- Подключение к серверу MongoDB на локальном компьютере 9000 Набор
- Прямое подключение
В этом руководстве показано, как подключиться к экземпляру MongoDB или набору реплик. с помощью драйвера Node.js.
URI соединения
URI соединения — это набор инструкций, которые драйвер использует для
подключиться к развертыванию MongoDB.
Он инструктирует водителя о том, как он должен
подключиться к MongoDB и как он должен вести себя при подключении. Следующее
пример показывает каждую часть URI соединения:
В этом примере мы используем mongodb для протокола, который указывает
Стандартный формат строки подключения.
Если у вашего экземпляра или развертывания есть запись DNS SRV, вы можете использовать Формат подключения исходного списка DNS для ваша строка подключения. Этот формат обеспечивает большую гибкость развертывание и возможность смены серверов по очереди без перенастройка клиентов.
Следующая часть строки подключения содержит ваше имя пользователя и пароль
если вы используете аутентификацию на основе пароля. Замените значение пользователь с вашим именем пользователя и передайте с вашим паролем. Если вы используете
механизм аутентификации, не требующий имени пользователя и пароля, опустить
эта часть URI соединения.
Следующая часть строки подключения указывает имя хоста или IP-адрес и
порт вашего экземпляра MongoDB.
В приведенном выше примере мы используем sample.host .
в качестве имени хоста и 27017 в качестве порта. Замените эти значения, чтобы указать на
ваш экземпляр MongoDB.
Последняя часть строки подключения содержит подключение и аутентификацию
варианты в качестве параметров. В приведенном выше примере мы установили два варианта подключения: maxPoolSize=20 и w=большинство . Для получения дополнительной информации о подключении
параметры, перейдите к разделу «Параметры подключения».
В приведенном ниже коде показано, как можно использовать URI подключения в клиенте для подключиться к монгодб.
| const {MongoClient} = require(«mongodb»); |
| // URI соединения |
| const uri = « |
| // Создать новый MongoClient |
| const client = new MongoClient(uri); |
| асинхронная функция run() { |
| try { |
// Подключаем клиента к серверу (опционально, начиная с версии 4. 7) 9056 |
| // Установить и проверить соединение |
| await client.db(«admin»).command({ ping: 1 }); |
| console.log(«Успешное подключение к серверу»); |
| } finally { |
| // Гарантирует, что клиент закроется, когда вы закончите/ошибка |
| await client.close(); |
| } |
| } |
| run().catch(console.dir); |
Другие способы подключения к MongoDB
Если вы подключаетесь к одному экземпляру сервера MongoDB или набору реплик который не размещен на Atlas, см. следующие разделы, чтобы узнать, как соединять.
Подключение к серверу MongoDB на вашем локальном компьютере
Если вам нужно запустить сервер MongoDB на вашем локальном компьютере для разработки целях вместо использования кластера Atlas необходимо выполнить следующее:
-
Загрузить сообщество или корпоративная версия сервера MongoDB.
-
Установите и настройте сервер MongoDB.
-
Запустите сервер.
Важно
Всегда защищайте свой сервер MongoDB от вредоносных атак. Смотрите наши Контрольный список безопасности для список рекомендаций по безопасности.
После успешного запуска сервера MongoDB укажите подключение строка в коде подключения вашего драйвера.
Если ваш сервер MongoDB работает локально, вы можете использовать следующее строка подключения:
| mongodb://localhost: |
В этой строке подключения — это номер порта, на котором вы
настроил ваш сервер для прослушивания входящих подключений.
Если вам нужно указать другое имя хоста или IP-адрес, см. наш Сервер Ручной ввод в строках подключения.
Чтобы проверить, можете ли вы подключиться к серверу, замените соединение строка в коде Connect to MongoDB пример и запустите его.
Подключение к набору реплик
Развертывание набора реплик MongoDB — это группа подключенных экземпляров, которые
хранить один и тот же набор данных.
Эта конфигурация экземпляров предоставляет данные
избыточность и высокая доступность данных.
Чтобы подключиться к развертыванию набора реплик, укажите имя хоста и номера портов.
каждого экземпляра, разделенных запятой, и имя набора реплик в качестве значения
параметра replicaSet в строке подключения.
| mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRs |
При подключении драйвер по умолчанию выполняет следующие действия:
Указать все хосты
Для обеспечения подключения, если один хост недоступен, предоставьте полный список хостов при подключении к набору реплик.
Прямое подключение
Чтобы заставить ваши операции выполняться на хосте, указанном в вашем подключении
URI можно указать directConnection вариант подключения. Если вы
при указании этой опции необходимо использовать стандартный формат URI подключения.
Драйвер не принимает формат подключения DNS-списка (SRV), когда вы
укажите эту опцию.
При указании directConnection и подключении к дополнительному члену
набор реплик, ваши операции записи завершатся неудачно, потому что клиент не
подключен к основному члену. Для выполнения операций чтения необходимо
включить вторичное чтение. См. параметры предпочтения чтения
Чтобы получить больше информации.
← ConnectionConnection Options →
Интеграция с базой данных Express
Добавление возможности подключения баз данных к приложениям Express — это просто вопрос загрузки соответствующего драйвера Node.js для базы данных в вашем приложении. В этом документе кратко объясняется, как добавлять и использовать некоторые из самых популярных модулей Node.js для систем баз данных в приложении Express:
- Cassandra
- Коучбаза
- CouchDB
- УровеньDB
- MySQL
- МонгоБД
- Нео4дж
- Оракул
- PostgreSQL
- Редис
- SQL-сервер
- SQLite
- Эластичный поиск
Эти драйверы базы данных входят в число многих доступных.
Для других вариантов,
поиск на сайте npm.
Cassandra
Модуль : cassandra-driver
Установка
$ npm install cassandra-driver
Пример
const cassandra = require('cassandra-driver')
постоянный клиент = новый cassandra.Client({ contactPoints: ['localhost'] })
client.execute('выберите ключ из system.local', (ошибка, результат) => {
если (ошибиться) бросить ошибку
console.log(результат.строки[0])
})
Couchbase
Модуль : CouchNode
Установка
$ npm install Couchbase
Пример
const coachbase = require('couchbase')
const Bucket = (новый Couchbase.Cluster('http://localhost:8091')).openBucket('bucketName')
// добавляем документ в корзину
ведро.insert('document-key', { name: 'Matt', shoesSize: 13 }, (ошибка, результат) => {
если (ошибка) {
console.log(ошибка)
} еще {
console.log(результат)
}
})
// получить все документы с размером обуви 13
const n1ql = 'SELECT d.
* FROM `bucketName` d WHERE shoesSize = $1'
константный запрос = N1qlQuery.fromString(n1ql)
ведро.query(запрос, [13], (ошибка, результат) => {
если (ошибка) {
console.log(ошибка)
} еще {
console.log(результат)
}
})
CouchDB
Модуль : nano
Установка
$ npm install nano
Пример
const nano = require('nano')('http://localhost:5984')
nano.db.create('книги')
const books = nano.db.use('книги')
// Вставляем документ книги в базу данных книг
books.insert({ name: 'Искусство войны' }, null, (err, body) => {
если (ошибка) {
console.log(ошибка)
} еще {
console.log(тело)
}
})
// Получаем список всех книг
books.list((ошибка, тело) => {
если (ошибка) {
console.log(ошибка)
} еще {
console.log(тело.строки)
}
})
LevelDB
Модуль : levelup
Установка
$ npm install level levelup leveldown
Пример
const levelup = require('levelup')
const db = levelup('.
/mydb')
db.put('имя', 'LevelUP', (ошибка) => {
если (ошибка) вернуть console.log('Ой!', ошибка)
db.get('имя', (ошибка, значение) => {
если (ошибка) вернуть console.log('Ой!', ошибка)
console.log(`имя=${значение}`)
})
})
MySQL
Модуль : MySQL
Установка
$ npm установить mysql
Пример
const mysql = require('mysql')
константное соединение = mysql.createConnection({
хост: «локальный хост»,
пользователь: 'dbuser',
пароль: 's3kree7',
база данных: 'my_db'
})
соединение.connect()
connection.query('ВЫБЕРИТЕ 1 + 1 КАК решение', (ошибка, строки, поля) => {
если (ошибиться) бросить ошибку
console.log('Решение: ', rows[0].solution)
})
соединение.конец()
MongoDB
Модуль : mongodb
Установка
$ npm установить mongodb
Пример (v2.*)
const MongoClient = require('mongodb').MongoClient
MongoClient.connect('mongodb://localhost:27017/animals', (ошибка, БД) => {
если (ошибиться) бросить ошибку
db.
collection('млекопитающие').find().toArray((ошибка, результат) => {
если (ошибиться) бросить ошибку
console.log(результат)
})
})
Пример (v3.*)
const MongoClient = require('mongodb').MongoClient
MongoClient.connect('mongodb://localhost:27017/animals', (ошибка, клиент) => {
если (ошибиться) бросить ошибку
const db = client.db('животные')
db.collection('млекопитающие').find().toArray((ошибка, результат) => {
если (ошибиться) бросить ошибку
console.log(результат)
})
})
Если вам нужен драйвер объектной модели для MongoDB, посмотрите на Mongoose.
Neo4j
Модуль : neo4j-драйвер
Установка
$ npm install neo4j-драйвер
Пример
const neo4j = require('neo4j-драйвер')
постоянный драйвер = neo4j.driver('neo4j://localhost:7687', neo4j.auth.basic('neo4j', 'letmein'))
константная сессия = driver.session()
session.readTransaction((tx) => {
return tx.run('MATCH (n) RETURN count(n) AS count')
.
тог((рез) => {
console.log(res.records[0].get('count'))
})
.catch((ошибка) => {
console.log(ошибка)
})
})
Oracle
Модуль : oracledb
Установка
ПРИМЕЧАНИЕ. См. требования к установке.
$ npm установить oracledb
Пример
const oracledb = require('oracledb')
константная конфигурация = {
пользователь: '<ваш пользователь БД>',
пароль: '<ваш пароль БД>',
connectString: 'локальный: 1521/orcl'
}
асинхронная функция getEmployee (empId) {
позвольте конн
пытаться {
conn = ожидание oracledb.getConnection(config)
константный результат = ожидание conn.execute(
'выбрать * из сотрудников, где employee_id = :id',
[empId]
)
console.log(результат.строки[0])
} поймать (ошибиться) {
console.log('Ой!', ошибка)
} окончательно {
if (conn) { // назначение соединения сработало, нужно закрыть
ждать conn.close ()
}
}
}
получитьEmployee(101)
PostgreSQL
Модуль : pg-promise
Установка
$ npm install pg-promise
Пример
const pgp = require('pg-promise')(/* options */)
const db = pgp('postgres://имя пользователя:пароль@хост:порт/база данных')
db.
one('ВЫБЕРИТЕ $1 КАК значение', 123)
.тог((данные) => {
console.log('ДАННЫЕ:', data.value)
})
.catch((ошибка) => {
console.log('ОШИБКА:', ошибка)
})
Redis
Модуль : Redis
Установка
$ npm установить Redis
Пример
const redis = require('redis')
постоянный клиент = redis.createClient()
client.on('ошибка', (ошибка) => {
console.log(`Ошибка ${ошибка}`)
})
client.set('строковый ключ', 'строковое значение', redis.print)
client.hset('хэш-ключ', 'хэштест 1', 'какое-то значение', redis.print)
client.hset(['хеш-ключ', 'хэштест 2', 'другое значение'], redis.print)
client.hkeys('хэш-ключ', (ошибка, ответы) => {
console.log(`${replies.length} отвечает:`)
responses.forEach((ответить, я) => {
console.log(` ${i}: ${ответ}`)
})
клиент.выйти()
})
SQL Server
Модуль : утомительно
Установка
$ npm install утомительно
Пример
const Connection = require('утомительно').
Connection
const Запрос = требуется('утомительный').Запрос
константная конфигурация = {
сервер: 'локальный',
аутентификация: {
тип: 'по умолчанию',
параметры: {
userName: 'your_username', // обновить меня
пароль: 'ваш_пароль' // обновить меня
}
}
}
константное соединение = новое соединение (конфигурация)
connection.on('connect', (ошибка) => {
если (ошибка) {
console.log(ошибка)
} еще {
выполнить оператор()
}
})
функция executeStatement () {
request = new Request("выберите 123, 'привет, мир'", (ошибка, rowCount) => {
если (ошибка) {
console.log(ошибка)
} еще {
console.log(`${rowCount} строк`)
}
соединение.закрыть()
})
request.on('строка', (столбцы) => {
columns.forEach((столбец) => {
если (column.value === ноль) {
console.log('НОЛЬ')
} еще {
console.log(столбец.значение)
}
})
})
соединение.execSql (запрос)
}
SQLite
Модуль : sqlite3
Установка
$ npm install sqlite3
Пример
const sqlite3 = require('sqlite3').

js"></script>
Этот атрибут давно мертв и никому не нужен. Не используйте его для javascript.
google-analytics.com/analytics.js" async></script>
7) 9056
* FROM `bucketName` d WHERE shoesSize = $1'
константный запрос = N1qlQuery.fromString(n1ql)
ведро.query(запрос, [13], (ошибка, результат) => {
если (ошибка) {
console.log(ошибка)
} еще {
console.log(результат)
}
})
/mydb')
db.put('имя', 'LevelUP', (ошибка) => {
если (ошибка) вернуть console.log('Ой!', ошибка)
db.get('имя', (ошибка, значение) => {
если (ошибка) вернуть console.log('Ой!', ошибка)
console.log(`имя=${значение}`)
})
})
collection('млекопитающие').find().toArray((ошибка, результат) => {
если (ошибиться) бросить ошибку
console.log(результат)
})
})
тог((рез) => {
console.log(res.records[0].get('count'))
})
.catch((ошибка) => {
console.log(ошибка)
})
})
one('ВЫБЕРИТЕ $1 КАК значение', 123)
.тог((данные) => {
console.log('ДАННЫЕ:', data.value)
})
.catch((ошибка) => {
console.log('ОШИБКА:', ошибка)
})
Connection
const Запрос = требуется('утомительный').Запрос
константная конфигурация = {
сервер: 'локальный',
аутентификация: {
тип: 'по умолчанию',
параметры: {
userName: 'your_username', // обновить меня
пароль: 'ваш_пароль' // обновить меня
}
}
}
константное соединение = новое соединение (конфигурация)
connection.on('connect', (ошибка) => {
если (ошибка) {
console.log(ошибка)
} еще {
выполнить оператор()
}
})
функция executeStatement () {
request = new Request("выберите 123, 'привет, мир'", (ошибка, rowCount) => {
если (ошибка) {
console.log(ошибка)
} еще {
console.log(`${rowCount} строк`)
}
соединение.закрыть()
})
request.on('строка', (столбцы) => {
columns.forEach((столбец) => {
если (column.value === ноль) {
console.log('НОЛЬ')
} еще {
console.log(столбец.значение)
}
})
})
соединение.execSql (запрос)
}
