关于微信小程序,云开发中云函数超时定义

在云函数中的定义里,有一个关于超时的概念,这里并不是程序实际运行的时间,而是一个预期运行的时间

比如一个程序跑下来仅用了 8ms 但是他一直在等待内部的异步操作执行完才会关闭,这里就是异步操作超时,导致整个请求超时。(20s是截止目前云函数最长运行时间)

console.log('=======  start  ===')
console.log(new Date().getTime())   // 1555601179634
db.collection("testCollection").get()
  .then(res =>{
    console.log('===第一次====')
    console.log(new Date().getTime()) // 1555601179843
    return timeout(5000)
  })
  .then(res =>{
    console.log('===第二次====')
    console.log(new Date().getTime()) // 1555601184847
    return timeout(5000)
  })
  .then(res =>{
    console.log('===第三次====')
    console.log(new Date().getTime()) // 1555601189853
    return timeout(5000)
  })
  .then(res =>{
    console.log('===第四次====')
    console.log(new Date().getTime()) // 1555601194853
    return timeout(5000)
  })
  .then(res =>{
    console.log('===第五次====')
    console.log(new Date().getTime()) // 这里已经是超时区了
    return timeout(5000)
  })
console.log('=======  end  ===')
console.log(new Date().getTime())   // 1555601179642

// 封装的Promise的等待函数
function timeout(ms) {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
}

你可能感兴趣的:(关于微信小程序,云开发中云函数超时定义)