handle.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * @Description:
  3. * @Autor: kindring
  4. * @Date: 2021-12-14 15:19:56
  5. * @LastEditors: kindring
  6. * @LastEditTime: 2021-12-14 17:17:09
  7. * @LastDescript:
  8. */
  9. function handle(promise) {
  10. return new Promise(resolve => {
  11. try{
  12. promise.then(val => {
  13. resolve([null, val])
  14. }).catch(err => {
  15. resolve([err])
  16. })
  17. }catch(err){
  18. resolve([err])
  19. }
  20. })
  21. }
  22. // 支持多个promise的并行执行
  23. function handleAll() {
  24. return new Promise(resolve => {
  25. try{
  26. // arguments 转数组
  27. let arr = [...arguments]
  28. console.log(arr)
  29. // console.log(typeof arr)
  30. Promise.all(arr).then(val => {
  31. console.log(val);
  32. resolve([null, ...val])
  33. }).catch(err => {
  34. console.log(err)
  35. console.log(`promise all`)
  36. resolve([err])
  37. })
  38. }catch(err){
  39. resolve([err])
  40. }
  41. })
  42. }
  43. module.exports = {
  44. handle,
  45. handleAll
  46. };