个人项目地址: SubTopH前端开发个人站

 

(自己开发的前端功能和UI组件,一些有趣的小功能,感兴趣的伙伴可以访问,欢迎提出更好的想法,私信沟通,网站属于静态页面)

SubTopH前端开发个人站https://subtop.gitee.io/subtoph.github.io/#/home

以上 👆 是个人前端项目,欢迎提出您的建议😊

以下是正文内容....................

 resolve()可直接返回Promise成功对象

把一个普通对象转为Promise对象

手动实现Promise对象

// 转成Promise对象
function foo() {
  const obj = { name: "why" }
  return new Promise((resolve) => {
    resolve(obj)
  })
}

foo().then(res => {
  console.log("res:", res)     //res: { name: 'why' }
})

resolve()实现

// 类方法Promise.resolve
// 普通的值
const promise = Promise.resolve({ name: "swh" })
// 相当于
// const promise2 = new Promise((resolve, reject) => {
//   resolve({ name: "swh" })
// })

promise.then(res => {
  console.log("res:", res)    //res: { name: 'why' }
})

传入Promise

// 传入Promise
const promise = Promise.resolve(new Promise((resolve, reject) => {
  resolve("11111")
}))
promise.then(res => {
  console.log("res:", res)    //res: 11111
})

传入thenable对象

// 传入thenable对象
const promise = Promise.resolve({
    then: function(resolve, reject) {
      resolve(222222)
    }
})
promise.then(res => {
  console.log("res:", res)   //res: 222222
})

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐