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] = itemthis.$set(this.selectedItems, itemName, item)