С Promise.all
, если даже одно обещание не выполняется, вы не получите ни того, ни другого. Возьмите следующий пример:
const get = async () => {
return Promise.all([
new Promise((res, rej) => {
setTimeout(() => {
res('data!')
}, 1000)
}),
new Promise((res, rej) => {
setTimeout(() => {
rej('error!')
}, 2000)
})
]);
}
const start = async () => {
const response = await get()
console.log(response)
}
start()
Вы просто получите ошибку Uncaught (in promise) error!
.
Теперь, если вы хотите обойти это, чтобы получить хоть что-то обратно, вы можете потенциально использовать catch
для каждого обещания, например, так:
const get = async () => {
return Promise.all([
new Promise((res, rej) => {
setTimeout(() => {
res('data!')
}, 1000)
}).catch(err => {
return null
}),
new Promise((res, rej) => {
setTimeout(() => {
rej('error!')
}, 2000)
}).catch(err => {
return null
})
]);
}
const start = async () => {
const response = await get()
console.log(response)
}
start()
Это даст вам ["data!", null]
и может обращаться с null
, как вам удобно.
Это выглядит корректным: http://dev.mysql.com/doc/refman/5.0/en/binary-log.html#option_mysqld_binlog-ignore-db .
Согласно той ссылке:
существуют некоторые - binlog-ignore-db правила. База данных по умолчанию соответствует какому-либо из - binlog-ignore-db правила?
- Да: не пишите оператор и выход.
- номер: Запишите запрос и выход.
, Так как Вы только имеете, игнорируют команды, все запросы будут записаны в журнал, пока (активная) база данных по умолчанию не соответствует одной из проигнорированных баз данных.