• Как решить 502 Bad Gateway nginx?

    @ravshan01 Автор вопроса
    Как я и думал проблема была в том что я удалял и заново устанавливал nginx.
    Очистил весь мусор и перезапустил nginx и ghost cms
    Ответ написан
    Комментировать
  • Как использовать RedBeanPHP внутри namespace в php?

    @ravshan01 Автор вопроса
    Проблема была в том что при использование \R PHP почему-то в autoload функцию отдавал следующее значение 'Model_TableName'', где TableName название таблицы к которой обращаюсь.

    Решил просто изменив свою autoload функцию
    spl_autoload_register( function($className){
    		if ( strpos($className, 'Model') !== false ) return false; // иначе при использование \R, пытается загрузить 'Model_TableName'
    
    		$className = str_replace('\\', '/', $className);
    		require_once $_SERVER['DOCUMENT_ROOT'].'/'.$className.'.php';
    	})
    Ответ написан
  • Как составить цепочку из промисов и Promise.all?

    @ravshan01 Автор вопроса
    Решил проблему разделив логику загрузки и добавления изображений

    loadImages(){
    
    		let promises = [];
    
    
    		this._imagesUrl.forEach( elem => {
    			let obj = {};
    
    
    			for (let prop in elem) {
    				let promise = new Promise( resolve => {
    
    					let image = new Image();
    					image.classList.add('plane-image');
    					image.setAttribute('src', elem[prop]);
    
    					obj[prop] = image;
    					image.onload = () => resolve(image); 
    
    				})
    
    				promises.push(promise);
    			}
    
    			
    			this._images.push(obj);
    		})
    
    
    
    		Promise.all(promises)
    		.then ( () => this._imagesLoaded = true )
    		.catch( () => this.loadImages() );
    	}
    Ответ написан
    Комментировать
  • Как использовать combineReducers redux?

    @ravshan01 Автор вопроса
    Так и не смог нормально понять, поэтому написал свою функцию объединяющую редукторы.
    сама функция

    function createRootReducer(reducers){
    
    	return function(state, action){
    
    
    		for (let i = 0; i < reducers.length; i++){
    
    			let newState = reducers[i](state, action);
    			if ( isEmpty(newState) == false ) return newState; 
    
    		}
    		
    
    		return state;
    
    	}
    
    }


    инициализация
    const reducer = createRootReducer([
      //reducers array
    ])
    Ответ написан
    Комментировать
  • Как сделать кроссдоменный запрос?

    @ravshan01 Автор вопроса
    Проблема была в том что заголовки не приходили, решил проблему добавлением заголовков через .htaccess
    Ответ написан
    Комментировать