const getMinimumUniqueSum = arr => [...arr]
.sort((a, b) => a - b)
.reduce((acc, n) => (acc[1] += acc[0] = Math.max(acc[0] + 1, n), acc), [ -Infinity, 0 ])
.pop();
post<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
Оба дженерика имеют типы по умолчанию, а значит если их не указать именно они и будут использоватьсяaxios.post<ResponseApi>(/* ... */)
мы явно указываем, что T
- это тип ResponseApi
, а R берется по умолчанию, то есть AxiosResponse<T>
, что в нашем случае соответствует AxiosResponse<ResponseApi>
, а если и дальше развернуть, то выходит, что R
- это{
data: ResponseApi;
status: number;
statusText: string;
headers: any;
config: AxiosRequestConfig;
request?: any;
}
он и попадает в возвращаемый тип, обернутый в Promise, но TS знает про поведение await и деструктуризации, а следовательно без проблем вычисляет тип для data
- ResponseApi
first = utils.random(1, 10)
second = utils.random(11, 20)
third = utils.random(21, 30)
TypeError: Cannot read property 'data' of undefinedНе могу прочитать свойство data из undefined
at C:\Users\Andre\Desktop\YCH cryptowallet\node_modules\node-qiwi-api\lib\callbackApi.js:759:39в файле C:\Users\Andre\Desktop\YCH cryptowallet\node_modules\node-qiwi-api\lib\callbackApi.js
const element = document.querySelector(`.js-filter-wrap a[data-filter="${конкретноеЗначение}"]`);
if (element) {
...
const element = [...elements].find(n => n.dataset.filter === конкретноеЗначение);
if (element) {
...
const iSearch2 = document.querySelector(".iSearch");
const supd = document.querySelector(".spd")
const check = () => {
const className = "supDivshidden";
if (iSearch2.value.length > 3) {
supd.classList.remove(className);
} else {
supd.classList.add(className);
}
}
iSearch2.addEventListener('input', check);
check();