const STAGES = {
2: 'itemGv',
5: 'itemTm',
};
for (const [ key, val ] of Object.entries(items)) {
const s = STAGES[val.stage];
if (s) {
this.client.srem('items', key);
this.emit(s, val);
}
}
<div id="app">
<button @click="bool ? one() : two()">Click</button>
</div>
myCrazyObject['some array'][2].number;
const traverse = (path, obj) => path.split('.').every(k => obj[k] && (obj = obj[k])) ? obj : null;
traverse('some array.2.number', myCrazyObject); //123
str.match(/\w+$/)[0]
str.split(/\W/).pop()
str.replace(/.*\W/, '')
-1
, с единицей это 0
, т.е., начало строки) и до конца:str.slice(1 + Math.max(...[...'@/'].map(n => str.lastIndexOf(n))))
[...str].reduce((acc, n) => '@/'.includes(n) ? '' : acc + n, '')
transaction.release()
не срабатывает, потому что у вас каша из попыток писать синхронный код на асинхронном языке. Await на каждой строчке - это говнокод. Понапихать еще await'ов в connection.release() - это не решение проблемы, а костыль. В таком стиле можно писать на PHP, но для использования Node.JS сначала разберитесь с асинхронностью. const { promisify } = require('util');
/* ... */
const query = promisify(connection.query).bind(connection);
const commit = promisify(connection.commit).bind(connection);
const rollback = promisify(connection.rollback).bind(connection);
const beginTransaction = promisify(connection.beginTransaction).bind(connection);
/* ... */
async function run(title) {
try {
await beginTransaction();
const { insertId } = await query('INSERT INTO posts SET title=?', title);
const log = `Post ${insertId} added`;
await query('INSERT INTO log SET data=?', log);
await commit();
console.log('Success!');
} catch (e) {
await rollback();
}
}
function SetUserManager(config) {
this.client = new ClientUser();
this.clientManager = new ClientManager({
user: this.client
});
this.options = {
name: config.name,
key: config.key
};
this.cookies = [];
client.login(options);
this.viewer();
}
SetUserMagager.prototype.viewer = function() {
this.client.on('login', () => {
this.client.setLogin();
});
this.client.on('msg', (session) => {
serveSession(session);
});
this.clientManager.on('user', (data) => {
serveNewUser(data);
});
}
class SetUserMagager {
constructor(config) {
this.client = new ClientUser();
this.clientManager = new ClientManager({
user: this.client
});
this.options = {
name: config.name,
key: config.key
};
this.cookies = [];
client.login(options);
this.viewer();
}
viewer() {
this.client.on('login', () => {
this.client.setLogin();
});
this.client.on('msg', (session) => {
serveSession(session);
});
this.clientManager.on('user', (data) => {
serveNewUser(data);
});
}
}
top
нужно менять свойство translate
. В этом случае при анимации будет задействована видеокарта и она будет сильно плавнее. this.selectedItems[itemName] = item
this.$set(this.selectedItems, itemName, item)