Skip to content
标签
note
字数
255 字
阅读时间
2 分钟

Promise.resolve()

Promise.resolve() 方法允许调用时不带参数,直接返回一个 resolved 状态的 Promise 对象。

所以,如果希望得到一个 Promise 对象,比较方便的方法就是直接调用 Promise.resolve() 方法

javascript
const p = Promise.resolve();

p.then(function () {
  // ...
});

需要注意的是,立即 resolve() 的 Promise 对象,是在本轮 " 事件循环 "(event loop)的结束时执行,而不是在下一轮 " 事件循环 " 的开始时

javascript
setTimeout(function () {
  console.log('three');
}, 0);

Promise.resolve().then(function () {
  console.log('two');
});

console.log('one');

// one
// two
// three

上面代码中,setTimeout(fn, 0) 在下一轮 " 事件循环 " 开始时执行,Promise.resolve() 在本轮 " 事件循环 " 结束时执行,console.log('one') 则是立即执行,因此最先输出

promise 如何取消

axios解析之cancelToken取消请求原理 - 掘金

你知道如何取消正在运行的Promise吗? - 掘金

引用:取消正在运行的axios请求

参考

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写