首页 > 其他分享 >koa异常处理

koa异常处理

时间:2023-12-25 20:22:57浏览次数:37  
标签:console err koa src20 ctx 处理 each tick 异常

 

全局处理异常:

https://blog.csdn.net/weixin_44867717/article/details/131949819

 

在函数内部处理:

router.post('/:tick', async(ctx, next) => { // 特定tick
  const params = ctx.request.params;
  const ids = params.tick

  let sql = `
    SELECT src20_tick_v4.*, src20_mint_progress_v4.*
    FROM ${SRC20_TICK_TABLE} s, ${SRC20_MINT_PROGRESS_TABLE}
    WHERE s.id=src20_mint_progress_v4.id and src20_tick_v4.id='${ids}'
  `
  let res = []
  try {
    res = await knex.raw(sql).asCallback(function(err) {
      if (err) {
        // console.log(false, err, err.message);
        // ctx.body = fail(err.message);
        // throw err;
        // console.log(false, err);
      } else {
        // console.log(true);
        const resMap = []
        for (let each of res.rows) {
          resMap.push({
            tick: each.tick,
            stamp_url: each.stamp_url,
            max: each.max ? each.max : "",
            lim: each.lim ? each.lim : "",
            amt: new Decimal(each.amt),
            dec: each.dec ? each.dec : 18,
            creator: each.creator,
            tx_hash: each.tx_hash,
            block_index: each.block_index,
            block_time: each.block_time,
          })
        }
        ctx.body = success(resMap.length ? resMap[0] : {})
      }
    })
  } catch (e) {
    // console.log('---------', e.status, e.statusCode, e.message);
    ctx.body = fail(e.message);
  }

  
  
})

sql有问题,被try catch捕获。而不asCallback中的err,但asCallback中的err里包含相同信息。

 

标签:console,err,koa,src20,ctx,处理,each,tick,异常
From: https://www.cnblogs.com/zccst/p/17926902.html

相关文章

  • P1259 黑白棋子的移动(函数预处理)
    P1259黑白棋子的移动个人感想终于不用看题解的思路写题了(大概率是题比较简单)函数预处理如果要实现两个函数间的互相调用,直接使用会报错,因为在你第一个函数中调用的第二个函数其实还没被定义。所以需要进行函数的预处理,将次函数(排序较后的函数)可以预处理定义即可解决。解题思......
  • jenkins报"node"不是内部或外部命令,也不是可运行的程序或批处理文件。
    解决方法:1、配置node的环境变量2、配置系统环境变量:3、配置Jenkins环境变量path值:win+R,cmd,输入path获得......
  • 如何在Go语言中处理反爬虫机制
    在当今互联网时代,网站的反爬虫机制变得越来越普遍。这些机制旨在保护网站的数据和资源,防止恶意爬虫对网站造成过大负荷。对于Go语言开发者来说,了解如何处理反爬虫机制是至关重要的。本文将介绍一些在Go语言中处理反爬虫机制的方法和技巧。1.使用合适的User-AgentUser-Agent是HTTP请......
  • 如何在Go语言中处理网站登录和会话保持问题
    在进行网页爬取时,有些网站可能要求用户登录后才能访问特定页面或获取数据。为了处理这种情况,我们需要在Go语言中模拟用户登录并保持会话。本文将介绍一些在Go语言中处理网站登录和会话保持的方法和技巧。1.理解网站登录流程在开始处理登录和会话保持之前,首先需要理解目标网站的登录......
  • 服务器系统时间不同步如何处理
    在分布式计算环境中,服务器系统时间的同步至关重要。然而,由于各种原因,服务器系统时间不同步的问题时有发生,这可能会导致严重的问题,如日志不准确、证书验证失败等。下面我们可以一起探讨下造成服务器系统时间不同的原因以及解决方案,这样也能避免大家在使用服务器的过程中有出现相应......
  • JAVA异常处理及分类
    Java异常处理是一种机制,用于在程序执行过程中处理错误和异常情况。异常是指在程序运行时发生的不正常情况,可能导致程序的中断或错误输出。在Java中,异常是通过对象来表示的,它们属于java.lang包。异常处理的目标是在程序发生异常时,能够以一种有序的方式进行处理,防止程序因异常而......
  • 参与循环的正则表达式可能导致异常
    问题描述:批量上传图片后,我们希望获取每一个图片的名字letreg=/(.+)\.(jpg|png|gif|jpeg|webp)/gi; //作为全局变量functioninfo(){letimgInfo=reg.exec(file.name)//这是在循环方法里。然后就出错了。file.name是能获取的,但是经过 reg.exec()处理要得到结果时......
  • 日期时间处理工具怎么选?看这篇就够啦!
    哈喽!大家好!我是程序视点的小二哥。一直以来,处理时间和日期的JavaScript库,选用的都是Momment.js。它的API清晰简单,使用方便灵巧,功能还特别齐全。我自己也是是Moment.js的重度使用者。凡是遇到时间和日期的操作,就把Moment.js引用上。moment.js在功能上最为丰富,但体积较大,加载的m......
  • 图像处理—小波变换
    小波变换一维小波变换因为存在,所以存在可以在子空间中用尺度函数展开和在子空间中用某些数量的小波函数展开来表示。即其中是任意的开始尺度,通常称为近似和或尺度系数,称为细节和或小波系数。由于双正交的性质可得转换成离散形式可得其中和是基函数和由此可得通常,为2的幂(......
  • 【UniApp】-uni-app-处理项目输入数据(苹果计算器)
    前言上一篇文章完成了项目的基本布局,这一篇文章我们来处理一下项目的输入数据项目的输入数据主要是通过按键来输入的,所以我们需要对按键进行处理那么我们就来看一下uni-app-处理项目输入数据步入正题在上篇文章中,我在data中定义了一个buttons每个元素中,有一个func......