Baseline Widely available
Promise.resolve(value)
æ¹æ³åå³ä¸å以 value å¤å®çµæç Promise
ç©ä»¶ãè¥ value æ¯å thenableï¼ä¾å¦ï¼å
·æ then()
æ¹æ³ï¼ååå³ç promise å°ä¾å
¶çµææ¡åå
¶æçµçæ
ï¼è¥ value æ¯ promiseï¼åä½çºå¼å« Promise.resolve ä¹çµæï¼å
¶ä»æ
å½¢é½å°åå³ä»¥ value 實ç¾ç promiseã
Promise.resolve(value);
Promise.resolve(promise);
Promise.resolve(thenable);
忏
å°è¢« Promise
實ç¾ç弿¸ï¼argumentï¼ãå¯ä»¥æ¯å Promise
æå¾
解決ç thenableã
以 value æä½çº value ç promise 解決ç Promise
ã
éæ
å½å¼
Promise.resolve
åå³å¤å®å¾ç Promiseã
Promise.resolve
éæ
æ¹æ³
Promise.resolve("Success").then(
function (value) {
console.log(value); // "Success"
},
function (value) {
// not called
},
);
å¤å®é£å
var p = Promise.resolve([1, 2, 3]);
p.then(function (v) {
console.log(v[0]); // 1
});
å¤å®å¦ä¸å Promise
var original = Promise.resolve(33);
var cast = Promise.resolve(original);
cast.then(function (value) {
console.log("value: " + value);
});
console.log("original === cast ? " + (original === cast));
// logs, in order:
// original === cast ? true
// value: 33
ç±æ¼ handler æ¯é忥å°è¢«èª¿ç¨èå°è´ç¸åçç´éé åºãç¶ç±éç¯æç« äºè§£ then å¦ä½éä½ã
å¤å® thenable åæåº Error// Resolving a thenable object
var p1 = Promise.resolve({
then: function (onFulfill, onReject) {
onFulfill("fulfilled!");
},
});
console.log(p1 instanceof Promise); // true, object casted to a Promise
p1.then(
function (v) {
console.log(v); // "fulfilled!"
},
function (e) {
// not called
},
);
// Thenable throws before callback
// Promise rejects
var thenable = {
then: function (resolve) {
throw new TypeError("Throwing");
resolve("Resolving");
},
};
var p2 = Promise.resolve(thenable);
p2.then(
function (v) {
// not called
},
function (e) {
console.log(e); // TypeError: Throwing
},
);
// Thenable throws after callback
// 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) {
// not called
},
);
è¦ç¯ ç覽å¨ç¸å®¹æ§ åè¦
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