Обещания Javascript: могут ли они быть полностью реализованы в коде пользовательского пространства?
Является ли Javascript Promise
что-то, что можно было бы полностью реализовать в коде пользовательского пространства, не требуя никакой поддержки от нативного кода (например, внутренних компонентов Javascript), к которому будет иметь доступ только тот, кто реализует движок Javascript (например, команда V8)?
Обратите внимание, что я не говорю о реализации высокоуровневой библиотеки абстракций или модуля вокруг существующего Javascript Promise
класс (скажем, чтобы сделать его более удобным для пользователя); скорее, я говорю о совершенно новой реализации обещания замены, скажем, MyPromise
с идентичной семантикой как Promise
,
Я пытался читать соответствующие Promise
раздел в спецификации ES6, чтобы получить мой ответ, но найти спецификацию очень трудно для чтения.
1 ответ
Является ли класс JavaScript Promise чем-то, что можно полностью реализовать в коде пользовательского пространства, не требуя никакой поддержки со стороны нативного кода?
Да.
Ярким примером является Bluebird.