有时需要将现有对象转为 Promise 对象,Promise.resolve()方法就起到这个作用。
如题,什么情况下需要将现有对象转换成Promise对象?谢谢!
有时需要将现有对象转为 Promise 对象,Promise.resolve()方法就起到这个作用。
如题,什么情况下需要将现有对象转换成Promise对象?谢谢!
这是个语法糖吧
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');
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
当你的数据不是promise实例,或者你不知道他是不是promise,而你又想把他当做promise实例来使用的时候
比如如果本地有数据data返回data,没有则请求