有时需要将现有对象转为 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');
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
当你的数据不是promise实例,或者你不知道他是不是promise,而你又想把他当做promise实例来使用的时候
比如如果本地有数据data返回data,没有则请求