using System;
// вот только смысл такого класса не понятен...
class TestClass
{
public int Value { get; set; }
}
class MainClass
{
TestClass test;
static int Main(string[] argv)
{
return 0;
}
}
let results = await filteredMatches.reduce(
(p, v) => p.then(r => [...r, handler(v.CI)]),
Promise.resolve([])
);
<some-component ref="someComponent"></some-component>
const app = new Vue({el: '#app'});
app.$refs.someComponent.$on('event-name', () => console.log('wow'));
interface IBook { // имя интерфейса не отражает содержимое
book: IBookOwn; // почему поле с типом IBookOwn зовется book (книга с типом владелец книги?)
books: []; // тут тип - пустой массив, очевидно должен быть массив каких-то сущностей вроде IBook[]
loading: boolean; // загрузка - это признак книги?
}
interface IInterfaceProps { // префикс I - это уже интерфейс...
getBooks: () => void; // почему метод get* возвращает undefined?
book: IBook
}
const mapStateToProps = (state: any) => ({ // зачем вам typescript если у Вас есть типы any?
book: state.book
});
// можно например так переписать:
const mapStateToProps = <T extends {book: IBook}>(state: T) => ({
book: state.book
});
но по хорошему должен быть State тип
но замечу, что у Вас есть логическая ошибка в коде:
setTimeout(func.apply(this, arguments), timeOut);
тут func выполнится сразу, не дожидаясь таймаутаДля того чтобы ждать - нужно передавать в таймаут саму функцию, у Вас же передается ее результат (который в представленном примере будет undefined)
В качестве решения можно воспользоваться одним из следующих способов:
1. setTimeout передает все аргументы полученные после таймаута в саму функцию, но передать так контекст (this) не получится
setTimeout(func, timeOut, ...arguments);
2. Можно воспользоваться bind, который возвращает новую функцию с привязанными аргументами и контекстом, что как раз по изучаемой Вами теме
3. Ну и так же предположу, что Вы еще не изучали spread оператор (три точки, можно погуглить "spread operator js"), в этом случае не обойтись без еще 1 замыкания