then
metodi palauttaa Promise
joka mahdollistaa menetelmä ketjuttamalla.
Jos toiminto välitetään handler then
palauttaa Promise
vastaava Promise
altistuu myöhemmin then
menetelmä-ketju. Alla oleva pätkä simuloi asynkronista koodia setTimeout
– funktiolla.,
Kun arvo on palannut sisällä then
handler, se tehokkaasti palata Promise.resolve(<value returned by whichever handler was called>)
.
then
puhelu palaa hylätyn lupauksen, jos toiminto heittää virheen tai palauttaa hylätty Lupaus.
kaikissa muissa tapauksissa palautetaan ratkaisulupaus. Seuraavassa esimerkissä ensimmäinen then()
palaa 42
kääritty ratkaista Luvata vaikka edellinen Lupaus ketju oli hylätty.,
käytännössä, se on usein toivottavaa kiinni hylkäsi lupaa sijaan käyttää then
: n tapauksessa kaksi syntaksia, kuten jäljempänä osoitetaan.
Voit myös käyttää ketjutus toteuttaa yksi toiminto, johon liittyy Lupaus-pohjainen API päälle toinen tällainen toiminto.
– Jos onFulfilled
palaa lupaus, paluu arvo then
ratkaistaan/hylätty lupaus.