Baseline Widely available
ÐеÑод Promise.resolve(value)
возвÑаÑÐ°ÐµÑ Promise
вÑполненнÑй Ñ Ð¿ÐµÑеданнÑм знаÑением. ÐÑли пеÑеданное знаÑение ÑвлÑеÑÑÑ thenable - обÑÐµÐºÑ (Ñ.е. Ð¸Ð¼ÐµÐµÑ Ð¼ÐµÑод "then" method
), возвÑаÑаемÑй пÑÐ¾Ð¼Ð¸Ñ Ð±ÑÐ´ÐµÑ ÑледоваÑÑ thenable - обÑекÑÑ, пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÐ²Ð¾Ñ ÑоÑÑоÑние; в ином ÑлÑÑае возвÑаÑаемÑй пÑÐ¾Ð¼Ð¸Ñ Ð±ÑÐ´ÐµÑ Ð²Ñполнен Ñ Ð¿ÐµÑеданнÑм знаÑением.
Promise.resolve(value); Promise.resolve(promise); Promise.resolve(thenable);ÐаÑамеÑÑÑ
ÐнаÑение Ñ ÐºÐ¾ÑоÑÑм бÑÐ´ÐµÑ Ð²Ñполнен пÑомиÑ. ÐÐ¾Ð¶ÐµÑ Ñакже бÑÑÑ Ð¿ÑомиÑом или обÑÐµÐºÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñй пÑомиÑÑ (thenable - обÑÐµÐºÑ Ð¸Ð¼ÐµÑÑий меÑод then).
ÐÑполненнÑй Ñ Ð¿ÐµÑеданнÑм знаÑением Promise
.
ÐеÑод Promise.resolve
возвÑаÑÐ°ÐµÑ Ð²Ñполненное пÑÐ¾Ð¼Ð¸Ñ (Promise
).
Promise.resolve
Promise.resolve("Success").then(
function (value) {
console.log(value); // "Success"
},
function (value) {
// не бÑÐ´ÐµÑ Ð²Ñзвана
},
);
ÐÑполнение Ñ Ð¼Ð°ÑÑивом
var p = Promise.resolve([1, 2, 3]);
p.then(function (v) {
console.log(v[0]); // 1
});
ÐÑполнение Ñ Ð´ÑÑгим пÑомиÑом ( Promise
)
var original = Promise.resolve(true);
var cast = Promise.resolve(original);
cast.then(function (v) {
console.log(v); // true
});
ÐÑполнение Ñ thenable обÑекÑом и вÑбÑаÑÑвание иÑклÑÑений
// ÐÑполнение Ñ thenable обÑекÑом
var p1 = Promise.resolve({
then: function (onFulfill, onReject) {
onFulfill("fulfilled!");
},
});
console.log(p1 instanceof Promise); // true
p1.then(
function (v) {
console.log(v); // "fulfilled!"
},
function (e) {
// не вÑзÑваеÑÑÑ
},
);
// Thenable обÑÐµÐºÑ Ð²ÑбÑаÑÑÐ²Ð°ÐµÑ Ð¸ÑклÑÑение
// пеÑед вÑзовом колбÑка Promise resolves
var thenable = {
then: function (resolve) {
throw new TypeError("Throwing");
resolve("Resolving");
},
};
var p2 = Promise.resolve(thenable);
p2.then(
function (v) {
// не вÑзÑваеÑÑÑ
},
function (e) {
console.log(e); // TypeError: Throwing
},
);
// Thenable обÑÐµÐºÑ Ð²ÑбÑаÑÑÐ²Ð°ÐµÑ Ð¸ÑклÑÑение
// поÑле вÑзова колбÑка Promise resolves
var thenable = {
then: function (resolve) {
resolve("Resolving");
throw new TypeError("Throwing");
},
};
var p3 = Promise.resolve(thenable);
p3.then(
function (v) {
console.log(v); // "Resolving"
},
function (e) {
// не вÑзÑваеÑÑÑ
},
);
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4