JS Обещания: всегда ли метод then () возвращает обещание или он возвращает возвращаемый элемент? - PullRequest
2 голосов
/ 01 мая 2020

Я читаю эту статью о цепочке Promise, и там написано "a handler may return not exactly a promise, but a so-called “thenable” object". Я хочу знать, какое из следующего является правильным:

1) Обработчик может вернуть обещание или объект, который может быть выполнен, но метод then(), содержащий обработчик, должен вернуть обещание.

2) Обработчик может вернуть обещание или объект, который может быть выполнен, а метод then(), содержащий обработчик, также может вернуть либо объект обещания, либо объект, который может быть выполнен.

1 Ответ

1 голос
/ 01 мая 2020

Это не обещание , если его .then(…) метод не возвращает обещание , и если это ES6 "родной" Promise, то это определенно будет.

A Метод thenable then может возвращать что угодно (включая undefined).

...