Обещания Javascript: могут ли они быть полностью реализованы в коде пользовательского пространства?

Является ли Javascript Promise что-то, что можно было бы полностью реализовать в коде пользовательского пространства, не требуя никакой поддержки от нативного кода (например, внутренних компонентов Javascript), к которому будет иметь доступ только тот, кто реализует движок Javascript (например, команда V8)?

Обратите внимание, что я не говорю о реализации высокоуровневой библиотеки абстракций или модуля вокруг существующего Javascript Promise класс (скажем, чтобы сделать его более удобным для пользователя); скорее, я говорю о совершенно новой реализации обещания замены, скажем, MyPromiseс идентичной семантикой как Promise,

Я пытался читать соответствующие Promise раздел в спецификации ES6, чтобы получить мой ответ, но найти спецификацию очень трудно для чтения.

1 ответ

Решение

Является ли класс JavaScript Promise чем-то, что можно полностью реализовать в коде пользовательского пространства, не требуя никакой поддержки со стороны нативного кода?

Да.

Ярким примером является Bluebird.

Другие вопросы по тегам