Promise.resolve有什么用处?

发布于 2022-09-11 23:24:29 字数 226 浏览 17 评论 0

Promise.resolve()

有时需要将现有对象转为 Promise 对象,Promise.resolve()方法就起到这个作用。

如题,什么情况下需要将现有对象转换成Promise对象?谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

魂牵梦绕锁你心扉 2022-09-18 23:24:29

当你的数据不是promise实例,或者你不知道他是不是promise,而你又想把他当做promise实例来使用的时候

比如如果本地有数据data返回data,没有则请求

Promise.resolve(data ? data : getData()).then(...)
少女七分熟 2022-09-18 23:24:29

这是个语法糖吧


var foo = {
    then: (resolve, reject) => resolve('foo')
};
var resolved = Promise.resolve(foo);
相当于
var resolved = new Promise((resolve, reject) => {
    foo.then(resolve, reject)
});

resolved.then((str) => 
    console.log(str);//foo
)
噩梦成真你也成魔 2022-09-18 23:24:29

跟楼上的差不多,不过我喜欢这么用:

// 如果本地有数据就不请求,没有就请求
const p = data ? Promise.resolve(data) : getData();
p
  .then(result => {
    // 数据处理
  });
温馨耳语 2022-09-18 23:24:29

用来创建微任务,更新视图的时候非常有用

Promise.resolve().then(() => console.log('456'));
console.log('123');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文