Promise.resolve()
有时需要将现有对象转为 Promise 对象,Promise.resolve()方法就起到这个作用。
如题,什么情况下需要将现有对象转换成Promise对象?谢谢!
当你的数据不是promise实例,或者你不知道他是不是promise,而你又想把他当做promise实例来使用的时候
比如如果本地有数据data返回data,没有则请求
Promise.resolve(data ? data : getData()).then(...)
这是个语法糖吧
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 )
跟楼上的差不多,不过我喜欢这么用:
// 如果本地有数据就不请求,没有就请求 const p = data ? Promise.resolve(data) : getData(); p .then(result => { // 数据处理 });
用来创建微任务,更新视图的时候非常有用
Promise.resolve().then(() => console.log('456')); console.log('123');
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(4)
当你的数据不是promise实例,或者你不知道他是不是promise,而你又想把他当做promise实例来使用的时候
比如如果本地有数据data返回data,没有则请求
这是个语法糖吧
跟楼上的差不多,不过我喜欢这么用:
用来创建微任务,更新视图的时候非常有用