Единственная причина использования Promise.resolve
- это преобразование значения, которое может быть обещанием в обещание.
Promise.resolve(value)
- это удобный метод, который выполняет new Promise(resolve => resolve(value)
.Если значение является обещанием, оно будет возвращено, если это обещание из библиотеки обещаний пользовательской среды, оно будет преобразовано в собственное обещание.Если это простое значение, оно будет преобразовано для обещания, выполненного с этим значением.
Promise.resolve(5); // returns a promise fulfilled with the number 5.
Это полезно в нескольких случаях, например: - Если функция может вернутьобещание, оно всегда должно возвращать обещание - так, например, если у вас есть кэшированное значение, оно может быть Promise.resolve
d.- Если имеется несколько реализаций функциональности, а некоторые являются синхронными - это создает единый интерфейс.
Обратите внимание, что на практике с функциями async
это больше не нужно, поскольку асинхронная функция всегда возвращает обещание -даже если вы return
обычное значение (фактически, все, что вы возвращаете из асинхронной функции, является Promise.resolve
d неявно).
Также обратите внимание, что, в частности, вы не должны заставлять функции возвращать обещания, если все ониdo - это синхронные вычисления, поскольку функция, возвращающая обещание, подразумевает ввод-вывод в JavaScript.