美文网首页
javascript异步编程常用方法:promise、async

javascript异步编程常用方法:promise、async

作者: JakeBless | 来源:发表于2019-11-26 19:37 被阅读0次

1. promise的基本用法

const task1 = (start) => {
  return new Promise((resolve, reject) => {
    let A = start
    setTimeout(() => {
      A = A + 1
      if (A) {
          resolve(A)
      } else {
          reject('task1错误')
      }
    }, 1000)
  })
}

const task2 = (result) => {
  return new Promise((resolve, reject) => {
    let B = result
    setTimeout(() => {
      B = result + 1
      if (B > 2) {
          resolve(B)
      } else {
          reject('task2错误')
      }
    }, 1000)
  })
}

2. 利用promise的链式调用来解决回调问题

task1(1)
.then((result) => {
  return task2(result)
})
.then((result)=>{
  console.log('yes:' + result)
}).catch((err)=>{
  console.log(err)
})

3. async awit 写法

async function foo(start, call) {
  let a = await task1 (start)
  let b = await task2 (a)
  call(b)
}
foo(1, (result) => {
console.log('yes:' + result)
}).catch((err) => {
  console.log(err)
})

相关文章

网友评论

      本文标题:javascript异步编程常用方法:promise、async

      本文链接:https://www.haomeiwen.com/subject/qymywctx.html