module.exports = {
plugins: [
new webpack.DefinePlugin({
__API__: JSON.stringify('http://my-api-service.com'),
}),
],
};
по сути передаем одно и тоже
function delay(func, delayTime){
return function(){
var savedThis = this;
var savedArgs = arguments;
setTimeout(function(){
console.log(savedThis, this, savedArgs, arguments); // <---
func.apply(this, arguments);
}, delayTime);
}
}
Почему данный код по разному работает?
interface FetchNewsDataSucceededAction {
type: typeof FETCH_NEWS_DATA_SUCCEEDED;
payload: News[];
}
interface FetchNewsDataFailedAction {
type: typeof FETCH_NEWS_DATA_FAILED;
payload: MappedError;
}
type NewsActionTypes = FetchNewsDataSucceededAction |
Action<typeof FETCH_NEWS_DATA_REQUEST> |
FetchNewsDataFailedAction;
const fetchNewsDataRequest = (): NewsActionTypes => ({
type: FETCH_NEWS_DATA_REQUEST,
});
const fetchNewsDataSucceeded = (payload: News[]): NewsActionTypes => ({
type: FETCH_NEWS_DATA_SUCCEEDED,
payload,
});
const fetchNewsDataFailed = (payload: MappedError): NewsActionTypes => ({
type: FETCH_NEWS_DATA_FAILED,
payload,
});
export const fetchNewsData = (): : ThunkAction<Promise<void>, {}, {}, AnyAction> =>
async (dispatch: ThunkDispatch<{}, {}, NewsActionTypes>): Promise<void> => {
try {
const { data } = await Axios.get(`https://api.dtf.ru/v1.6/news/default/recent?count=1`);
dispatch(fetchNewsDataSucceeded(data));
} catch (error) {
dispatch(fetchNewsDataFailed(mapAxiosError(error)));
}
};
Думаю ,что это можно сделать каким-нибудь фреймворком,типа Angular и тд, но работать с таким не умею. Хотелось бы понять как способом решать такие задачи
Все функции в JavaScript это замыкания, то есть всегда, когда создается функция — всегда создается замыкание, хоть и зачастую оно пустое, так как функции обычно из объявления контекста как правило ничего не используют. Но нужно понимать разницу между созданием замыкания и созданием нового scope-объекта: замыкание (функция + ссылка на текущую цепочку scope-объектов) создается при определении функции, но новый scope-объект создается (и используется для модификации цепочки scope-объектов замыкания) при каждом вызове функции.
Но до конца не понял как именно они уменьшают код
Подскажите, пожалуйста, как правильно удалять товары по одиночке и все вместе.
Кстати console.log(productsList); выводится два раза и первый раз NULL. почему?
interface History<HistoryLocationState = LocationState>
type LocationState = any;