Добрый вечер.
Есть идея реализации chaining вызовов в javascript таким образом:
Users([24, 9, 1, 52]).getProfiles(function(error, result){
if (....) Users([9]).setBlock(600);
});
Всё бы ничего - можно посмотреть реализацию такого же подхода в jQuery (например, $('....').animate() ).
Но в моем случае мне нужны следующие возможности.
1. Когда выполняется первая часть:
Users([24, 9, 1, 52])...
То, сначала в какую-то глобальную (или не глобальную) переменную внутри
Users
должен записаться такой список
[24, 9, 1, 52]
(предположим это будет выглядеть так:
var list = [24, 9, 1, 52];
)
2. При выполнении метода
getProfiles()
требуется какая-то служебная информация к вышеобозначенному списку. В таком случае эта глобальная переменная дополняется какими-нибудь служебными данными и может это уже выглядеть так:
var list = [
{id: 24, shard: 2},
{id: 9, shard: 1},
{id: 1, shard: 1},
{id: 52, shard: 4}
];
3. Соответственно, когда выполняется
Users([9]).setBlock(600);
Метод
setBlock()
уже будет обладать служебной информацией (
{id: 9, shard: 1}
)
Вопрос, как реализовать "кеширование" вот такой служебной информации в рамках
Users
?