Как исправить этот поток в последней версии Angular?Javascript

Форум по Javascript
Ответить
Anonymous
 Как исправить этот поток в последней версии Angular?

Сообщение Anonymous »

Я работал над этим, используя последние версии сигналов Angular и rxResource, но столкнулся с этой проблемой

Код: Выделить всё

  // this will make API call for chain everytime lastLoadedscript is set
myResource = rxResource({
request: () => {
let script = this.stateService.lastLoadedScript()
let tempReq = {
seg: script.id || 0,
sid: script.sid
}
return tempReq
},
loader: ({ request }) => {
return this.myService.getExplist(request).pipe(
switchMap((expiryDetails: ExpiryDetails[]) => {
this.expiryList = expiryDetails;
this.expirySortname = this.expiryList.map(e => e.sortname);
let script = this.stateService.lastLoadedScript();
let tempObj = {
"StrategyName": "*",
"Symbol": script.name,
"ExpiryJulian": this.expiryList[this.prebuiltExpiry()].expiry
};
return this.myService.getstrategy(tempObj).pipe(
map(resp => {
if (resp['status'] != 'success') {
throw new Error('Invalid resp');
}
return processData(resp['data'])
})
);
})
);
}
})```

Проблема здесь в том, что expList получает каждый раз, мне нужна getstrategy для разных сроков действия.
Цель
  • При загрузке страницы список вызовов после получения ответа вызывает getStrategy
  • Выполняйте все последующие вызовы getstrategy с помощью простого myResource.reload() с выбранным сроком действия, но не делайте API срока действия вызов.
  • Когда последнийLoadedScript изменится, повторите шаг 1. т. е.: вызовите exp, затем вызовите стратегию получения
Я пробовал по отдельности ресурс для опыта, но он не будет работать, поскольку getStrat должен вызываться только после того, как станет доступен список описания

Подробнее здесь: https://stackoverflow.com/questions/793 ... st-angular
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»