# Feed késleltetése, amíg egy másik feed lefut

> Mi a teendő, ha egy feednek egy másik feed eredményére van szüksége, például az új bejegyzés azonosítójára: a késleltetés két kapcsolóponttal.

A legtöbb kiegészítő feedjét a Gravity Forms aszinkron módon dolgozza fel, és a sorrend nincs garantálva. Ez általában nem gond. Akkor viszont igen, ha az egyik feednek a másik feed eredményére van szüksége.

## Tipikus példa

Az űrlap a **Haladó bejegyzéslétrehozás** kiegészítővel bejegyzést hoz létre, majd a **Zapier** kiegészítővel elküldi a beküldés adatait, benne az új bejegyzés azonosítóját is. Néha ez jól működik. Máskor a Zapier a bejegyzés helyett az oldal azonosítóját kapja, és a későbbi automatizmus elromlik.

## Miért számít az időzítés

A feedek egymástól függetlenül futnak, ezért a Zapier-feed előbb is elindulhat, mint hogy a bejegyzéslétrehozó feed végzett volna. Ha a Zapier-nek az új bejegyzés azonosítója kell, annak a bejegyzéslétrehozás befejezése után kell az adatokat lekérnie.

A megoldás: a függő feedet visszatartod addig, amíg az, amitől függ, el nem készül, majd kézzel elindítod.

## A megoldás menete

Két kapcsolópont (hook) dolgozik együtt:

| Kapcsolópont | Mit csinál |
|---|---|
| `gform_is_delayed_pre_process_feed` | Visszatartja a Zapier-feedet addig, amíg a bejegyzés azonosítója meg nem jelenik a beküldésben. |
| `gform_advancedpostcreation_post_after_creation` | A bejegyzés létrehozása után fut le. Ez a megfelelő pillanat a visszatartott Zapier-feed elindítására. |

A feed elindítását a `GFAPI::maybe_process_feeds()` függvény végzi. A hozzá tartozó mintakód a két kapcsolópont leírásának példái között van.

## Más kiegészítőkkel is működik

A minta nem csak a Haladó bejegyzéslétrehozásra és a Zapier-re vonatkozik. Bármikor, amikor egy feednek meg kell várnia egy másikat:

1. Tartsd vissza a függő feedet a `gform_is_delayed_pre_process_feed` kapcsolóponttal.
2. Kapcsolódj be egy olyan eseménybe, amely akkor fut, amikor az első feed elkészült.
3. Ott indítsd el a visszatartott feedet a `GFAPI::maybe_process_feeds()` hívással.

A `gform_is_delayed_pre_process_feed` leírásában további példák is vannak: a Mailchimp késleltetése a felhasználóregisztráció befejezéséig, a Slack késleltetése a felhasználóregisztráció közben, és a Zapier késleltetése a Dropbox-feltöltés végéig.

A feedek közös kezeléséről a [Feedek alapjai](https://hub.hellowp.io/hu/plugins/gravityforms/kiegeszitok-feedek-alapok/), a hibakeresésről a [Feed-hibaelhárítás](https://hub.hellowp.io/hu/plugins/gravityforms/kiegeszitok-feed-hibaelharitas/) fejezetben olvashatsz.
