Norēķināšanās logs ziņo jūsu lapai par savām darbībām. Piesakieties ar on():
entase.on('checkout.ready', payload => {
console.log('checkout open for', payload.context.eventID);
});Viens klausītājs katram notikuma nosaukumam
on() saglabā vienu atgriezeniskā izsaukuma funkciju katram notikuma nosaukumam. Reģistrējot otru atgriezeniskā izsaukuma funkciju tam pašam nosaukumam, pirmā tiek aizstāta – tā netiek papildināta:
entase.on('checkout.closed', a);
entase.on('checkout.closed', b); // a is gone; only b runsoff() noņem visu, kas reģistrēts konkrētam nosaukumam. Tā ignorē jebkuru atgriezeniskā izsaukuma funkciju, ko tai nododat, tāpēc off('checkout.closed', b) un off('checkout.closed') dara vienu un to pašu.
Ja vairākām jūsu lapas daļām jāreaģē uz vienu un to pašu notikumu, reģistrējiet vienu atgriezeniskā izsaukuma funkciju un tās iekšienē novirziet apstrādi tālāk.
Pieteikšanās vairākiem notikumiem vienlaikus
Abas metodes pieņem ar atstarpēm atdalītu virkni vai nosaukumu masīvu, reģistrējot vienu un to pašu atgriezeniskā izsaukuma funkciju katram no tiem:
entase.on('checkout.ready checkout.closed', payload => {
console.log(payload.name);
});
entase.off(['checkout.ready', 'checkout.closed']);Datu krava
Katra atgriezeniskā izsaukuma funkcija saņem vienu objektu:
| Lauks | Tips | Apraksts |
|---|---|---|
name | string | Notikuma nosaukums, noderīgs, ja viena atgriezeniskā izsaukuma funkcija apstrādā vairākus notikumus. |
context | object | Satur eventID – pasākumu, kuram pieder šis norēķināšanās process. |
data | object | Notikumam specifiska informācija. |
Pieejamie notikumi
| Nosaukums | Kad tas tiek izsaukts |
|---|---|
checkout.ready | Norēķināšanās process ir ielādēts un gatavs mijiedarbībai. Šajā brīdī klients arī nodod clientContext, ko nodevāt metodei book(). |
checkout.closed | Norēķināšanās process ir aizvērts. Klients noņem paneli vai aizver logu un noņem fona pārklājumu. |
checkout.consent | Apmeklētājs ir atbildējis uz paziņojumu par noteikumiem. data.consent ir true, ja noteikumi tika pieņemti, un klients to atceras, lai nākamreiz šo soli izlaistu. |
entase.on('checkout.closed', () => {
document.body.classList.remove('checkout-open');
});
entase.on('checkout.consent', payload => {
if (payload.data.consent) console.log('terms accepted');
});Klausītāji saglabājas starp atsevišķām rezervācijām
Klausītāji ir piesaistīti instancei, nevis rezervācijai. Reģistrējiet tos vienreiz pēc klienta izveides, un tie attieksies uz katru book() izsaukumu. Izmantojiet payload.context.eventID, lai atšķirtu rezervācijas:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
entase.on('checkout.closed', payload => {
refreshAvailability(payload.context.eventID);
});Izsaucot destroy(), tie visi tiek apturēti – instance pilnībā pārtrauc klausīties ziņojumus no norēķināšanās procesa.
Ziņojumi no citiem avotiem tiek ignorēti
Klients pieņem tikai ziņojumus no Entase norēķināšanās loga izcelsmes domēna, tāpēc nesaistīta postMessage datplūsma jūsu lapā nekad nenonāks līdz jūsu atgriezeniskā izsaukuma funkcijām.