function existsEntry(postId){
return new Promise(function (resolve, reject) {
db.serialize(function(){
db.get("SELECT * FROM posts WHERE post_id = ?", [postId], function(err, row){
if (err) {
resolve(false); // или reject()
} else {
resolve(true);
}
});
db.close();
});
});
}
existsEntry("21706").then(function (answer) {console.log(answer)});
Gwan совсем не годится для продакшена и причин для этого много: слабая поддержка разных дистрибутивов, не реальные цены на саппорт , сложность настройки и полное отсутствие возможности дебага.
P.S. А еще у автора ЧСВ огромное.
You may access Content for your information and personal use solely as intended through the provided functionality of the Service and as permitted under these Terms of Service.https://www.youtube.com/t/terms
$(".author-article-img").load(linkToAuthor + " .author-article-img_author img");
Будьте особенно внимательны при указании HTTP-заголовков. Для того, чтобы гарантировать максимальную совместимость с наибольшим количеством различных клиентов, слово "Basic" должно быть написано с большой буквы "B", регион (realm) должен быть взят в двойные (не одинарные!) кавычки, и ровно один пробел должен предшествовать коду 401 в заголовке HTTP/1.0 401.php.net/manual/ru/features.http-auth.php
nginx вначале решает, какой из серверов должен обработать запрос. Рассмотрим простую конфигурацию, где все три виртуальных сервера слушают на порту *:80:https://nginx.org/ru/docs/http/request_processing.htmlserver { listen 80; server_name example.org www.example.org; ... } server { listen 80; server_name example.net www.example.net; ... } server { listen 80; server_name example.com www.example.com; ... }
В этой конфигурации, чтобы определить, какому серверу следует направить запрос, nginx проверяет только поле “Host” заголовка запроса. Если его значение не соответствует ни одному из имён серверов или в заголовке запроса нет этого поля вовсе, nginx направит запрос в сервер по умолчанию для этого порта. В вышеприведённой конфигурации сервером по умолчанию будет первый сервер, что соответствует стандартному поведению nginx по умолчанию. Сервер по умолчанию можно задать явно с помощью параметра default_server в директиве listen:server { listen 80 default_server; server_name example.net www.example.net; ... }
Как вообще такое может быть, когда у кого-то работает, а у кого-то нетПомимо кода есть ещё данные, которые у всех разные и браузерные расширения, которые вообще адский ад. Один и тот же код может прекрасно работать с одними данными и падать на других. Простой пример - функция деления двух чисел, в которую в качестве делителя передали 0.
Как дебажить такое?Дебагером.
И как ловитьОтвет на этот вопрос зависит от того, что вы узнаете в процессе отладки. От причины ошибки, проще говоря.
проблема в итоге в библиотеке?Библиотеку вызывает ваш код и с вероятностью 99% проблема именно в нём. То, что "ошибка вылезает" на уровне Backbone, вовсе не значит, что она там же и зарождается. Этой библиотеке много лет, она используется на тысячах проектов и если бы там был какой-то серьёзный баг, его бы уже, скорее всего, отловили.
Chrome automatically displays the banner when your app meets the following criteria:
- Has a web app manifest file with:
- a short_name (used on the home screen)
- a name (used in the banner)
- a 144x144 png icon (the icon declarations must include a mime type of image/png)
- a start_url that loads
- Has a service worker registered on your site.
- Is served over HTTPS (a requirement for using service worker).
- Is visited at least twice, with at least five minutes between visits.
Что будет использовать оптимальнее, join или дублирование поля из №2 в №1Нужно проверить оба варианта на живой базе, только тогда вы получите приближенный к реальности ответ, потому что оптимизатор БД может сделать всё, что угодно, в зависимости от текущего состояния.
Ну и является ли дублирование полей дичью, или такой подход можно использовать?Денормализация
@mixin someName {
prop: value;
&::after {
prop: value;
}
}
.some-class {
@include someName;
}