ctrlcv-dev.comgithub

Promisecheatsheet

贡献者:lele88lala,BAI

Promise

简介

简介: 快速参考 JavaScript Promise API 的途径.

创建 Promise

JS
new Promise((resolve, reject) => {
doStuff(() => {
if (success) {
resolve("good");
} else {
reject(new Error("oops"));
}
});
});

new Promise 创建新的 Promise.

处理 promises

THEN((RESULT)
promise
.then((result) => {
/* success */
})
.catch((error) => {
/* failure */
});

当 promise 操作完成时执行 then() 当 promise 操作失败时候执行 catch()

多 promises

JS
const promises = [promise1(), promise2() /* ... */];
JS
// 当所有 Promise 均执行成功时, 执行 then
Promise.all(promises).then((results) => {
/* ... */
});
JS
// 当有一个 Promise 执行完成时,执行 then
Promise.race(promises).then((result) => {
/* ... */
});

转换其它 promises

JS
return Promise.resolve("result");
return Promise.resolve(promise);
return Promise.resolve(thenable);
return Promise.reject("reason");
Promise.resolve(result).then(() => {
/* ... */
});

Promise.resolve(val)将返回一个 promise,该 promise 将解决为其赋予的值.