| 
		
			Сообщение от FINoM
			
		
	 | 
	| 
		Ну а если мы хотим вызвать цепочку, то получится так: ...add().add().add()() ← видишь?
	 | 
	
круто, оказывается есть и преимущества 
	
	| 
		
			Сообщение от FINoM
			
		
	 | 
	| 
		Ты же хочешь использовать всякие вещи, типа this.state в функциях. Получается, что в обработчиках (oncomplete, onfailure) this будет элементом из события (в случае прямого запуска это будет window), а в функциях из цепочки this будет являться объектом chain?
	 | 
	
не понял, да, хочу использовать this.state в функциях. Плюс, не хочу использовать много разных правил для разных случаев, поэтому правило одно: в обработчике события this указывает на объект, который сгенерировал событие.
	
	| 
		
			Сообщение от FINoM
			
		
	 | 
	| 
		Кто определяет как должно быть?
	 | 
	
я имел в виду, что твой пример скрывает недостатки твоего подхода
	
	| 
		
			Сообщение от FINoM
			
		
	 | 
	| 
		Блин, привел же.
	 | 
	
ладно, привел. Но по нему 
непонятно, достаточную функциональность предоставляет твоя функция или нет. Приведешь самую сложную цепочку, с которой сталкивался, с указанием всех данных, которые передаются? Может вообще окажется, что прав 
B~Vladi
	
	| 
		
			Сообщение от FINoM
			
		
	 | 
	| 
		Значит для него вложенные вызовы — это нормально.
	 | 
	
нет, он их по классам распихивает и большая вложенность не возникает
	
	| 
		
			Сообщение от FINoM
			
		
	 | 
	| 
		Описана задача сделать этот код более плоским.
	 | 
	
называй как хочешь. Ты специально не хочешь понимать о чем я говорю? Смотри подчеркнутый фрагмент выше. Если ты считаешь, что возможностей твоей функции тебе хватит или тебя устраивает как будет выглядеть код если не хватит, дальше обсуждать это нету смысла.
подведем итоги: ты считаешь, что твое решение лучше, потому что проще. Я считаю, что оно незначительно проще и что если понадобится больше возможностей они уже будут. По-моему по этому поводу уже все сказано, разве что если ты приведешь пример сложной цепочки. Можно разве что сравнить твое решение с другими.
	
	| 
		
			Сообщение от FINoM
			
		
	 | 
	| 
		Каких именно? Приведи хотя-бы одно.
	 | 
	
да тот же async, который ты в статье упомянул, например. Но ни одним таким не пользовался и по сути не написал ни одного приложения на ноде, если ты об этом.
UPD и можно еще добавить, что B~Vladi считает, что поблема не существует. Тут опять же можно столкнуться с задачей, для которой нужно создавать объекты просто чтобы избежать вложенности.