Вы можете называть меня параноиком, но как JavaScript развивается, это значение может измениться в будущем
Нет, не будет. JS будет (необходимо) поддерживать обратную совместимость, это никогда не изменится. Нет смысла переименовывать свойство .status
, это не значит, что имена свойств объектов результатов, подобных этому (или объектов результатов итераторов и т. Д.), Будут сталкиваться с чем-то новым.
Мой вопрос: есть ли Symbol.PromiseRejected|Symbol.PromiseResolved
или что-то релевантное, которое включает в себя резолюцию об обещании?
Нет, нет. В любом случае, они не символы.
Если вы абсолютно параноик, вы можете либо написать свою собственную тривиальную allSettled
функцию , где вы можете контролировать форму объектов результата, либо вы можете написать isRejected(result)
и isFulfilled(result)
helper функции, которые нужно вызывать везде, чтобы в маловероятном случае изменения чего-либо вам пришлось бы изменять только одну строку кода.