У меня есть класс, который обрабатывает данные. Другие классы могут давать ему свои значения, и класс данных будет заполнять их.
Это выглядит так:
class Data
constructor : ->
@products = null
populateProducts : (callback)=>
ajaxCall (data)=>
@products = data
callback()
allProducts : (list)=>
if @products?
list = @products
else
@populateProducts => allProducts list
Проблема, с которой я сталкиваюсь, заключается в том, что каждый добавленный мною метод должен проверять, существуют ли продукты. Поэтому я ищу способы сделать эту часть кода многократно используемой.
Один способ, которым я попытался, был следующим:
productsCheck : (callback)=>
if @products?
callback()
else
@populateProducts => products callback
Используя этот метод, я мог бы упростить все продукты:
allProducts : (list)=>
@productsCheck => list = @products
В конце я ищу технику, которая делает: «если продуктов не существует, заполняют их из базы данных». Возможно, я подумал, что это может быть известная модель, поэтому, если это так, то информация о нем также приветствуется.