JavaScript 异步演化史 前几天看了一个Javascript 异步演化史,谈到从 callback 到 Promise 再到 Async/Await 的历程,很有趣。大家有兴趣的话可以去看一下原文,或是直接百度搜翻译。 我这里默认大家都了解了这段历史,只简单介绍一下 JavaScript 异步操作里的一个小知识点--promisif
概述 在Web应用中,日志是非常重要的一部分数据,通过日志我们可以把控每天的请求情况和应用运行情况,还能够大大方便我们定位和追踪问题,所以非常有必要在开发时为Gin框架加入日志组件 设计 logrus是Go语言一款非常流行的日志库,其中封装了非常多方便易用的方法,所以我们也基于这个
背景: 在项目开发中我们经常会遇到一个问题那就是,程序处理异常,但是我们捕获到异常又不想 终止整个项目程序,简单点说就是一个业务出现问题,不想影响其他的业务。 下面具体参考相关的代码: 业务代码1连接数据库操作: func PanicTest2() { fmt.Println("测试捕获异常!"
本文翻译自How to read files using Node and the fs module 如何使用Node和fs模块读取文件 在Node中读取文件的最简单方法是使用fs.readFile()方法,向其传递文件路径和将与文件数据一起调用的回调函数(以及错误): const fs = require('fs') fs.readFile('/Users/flavio/test.tx
resp.Body.Close() 引发的内存泄漏goroutine个数。 问题 package main import ( "fmt" "io/ioutil" "net/http" "runtime" ) func main() { num := 6 for index := 0; index < num; index++ { resp, _ := http.Get("https://ww
死磕以太坊源码分析之p2p节点发现 在阅读节点发现源码之前必须要理解kadmilia算法,可以参考:KAD算法详解。 节点发现概述 节点发现,使本地节点得知其他节点的信息,进而加入到p2p网络中。 以太坊的节点发现基于类似的kademlia算法,源码中有两个版本,v4和v5。v4适用于全节点,通过discover
DefaultServeMux 与 gorilla/mux 对比阅读 Table of Contents DefaultServeMux 的实现gorilla/mux 的实现DefaultServeMux 与 gorilla/mux 的比较 DefaultServeMux 的实现 查阅 net.http 的源码,可以得知 DefaultServeMux 的实现如下:DefaultServeMux 是库中 ServeMux 结构体的
浙政钉小程序总结 扫码进入浙政钉小程序指定页面后 前端怎么获取到里面的参数 首先生成二维码的链接: taurus://taurusclient/action/open_app?appId=0201027143446479&type=2&page=pages%2Findex%2Findex%3FqrCodeId%3D168%26appId%3D1%26appName%3D%E6%B5%8B%E8%AF%95;appId:指的
axios的拦截器可以在请求或者返回被Then或者是catch处理之前对他们进行拦截。拦截器的作用。主要是在发送请求之前做一些操作,比方说可以对对一些数据进行处理。比如给每个请求都给添加token或者给 。或者是在相应之前请求拦截器。可以对返回的数据进行二次加工。例如在发送请求前相
一、尚硅谷Go语言教程 PDF阅读: http://xwjpics.gumptlu.work/%E5%B0%9A%E7%A1%85%E8%B0%B7_%E9%9F%A9%E9%A1%BA%E5%B9%B3_Go%E8%AF%AD%E8%A8%80%E6%A0%B8%E5%BF%83%E7%BC%96%E7%A8%8B.pdf 二、go基础重点总结 1. 环境变量配置 2. Golang 执行流程分析 如果是对源码编译后,再
import originAxios from ‘axios’ import { getToken } from ‘common/utils’ export function axios(config) { const instance = originAxios.create({ baseURL: process.env.VUE_APP_BASEURL }) instance.interceptors.request.use(config => { // 判断请求是否需要携
一个很简单的需求,就是基于golang 的模版发送邮件,同时为了提高性能,希望复用smtp的连接,以下是 一个基于开源库实现的学习,同时包含了一些使用中问题的说明 依赖的库 为了简化配置以及提高性能,使用了fasttemplate 进行模版处理,go-simple-mail 进行email发送,yaml进行配置管理 Mailho
JavaScript的任何throw机制的使用都会引起异常,异常处理必须用try/catch来进行处理,否则nodejs进程会立即退出。 同步的API会使用throw来报告错误。 但是异步的API可能使用多种方法来报告错误---大多数异步API发生错误,采用callback方式来处理异常,其中callback的第一个参数就是err
问题产生的原因:在Vue导航菜单中,重复点击一个菜单,即重复触发一个相同的路由,会报错,但不影响功能 解决:在router的配置文件中加入如下代码: const originalPush = Router.prototype.pushRouter.prototype.push = function push(location) { return originalPush.call(this, lo
defer defer func() { err := recover() if err != nil { fmt.Println("err=", err) } }() 拷贝参数值 -> 入栈 -> 方法结束后执行 panic panic("自定义错误") range for _, val := range arr { print(val) } 随机数 rand.Intn(100) 切片(slice) 引
package common import ( "bufio" "fmt" "os" "time" ) /*自定义日志文件*/ func DebugLog(args ...interface{}) error { var floderLog = "logs" logName := floderLog + "/debug_log." + time.Now().Format
# # Internetworking model # Determines how the VM should be connected to the # the container network interface # Options: # # - macvtap # Used when the Container network interface can be bridged using # macvtap. # # - none # Used wh
function somethingRisky() {} try { somethingRisky() } catch(err: unknown) { if (err instanceof Error) { console.log(err.stack) } else { console.log(err) } } Force to handle edge cases. Type assertion: function some
1、清理npm缓存 npm cache clean -f 2、安装最新版本的Node helpe npm install -g n 3、安装npm包管理助手 npm install -g n --force 4、安装npm npm install 注意事项:使用mac的话npm前面加sudo,使用的国内的淘宝镜像的话前面加c。
------------------------------ 下面一段代码,实现了最简单的 Web 服务器: 编译环境: Linux Mint 18 Cinnamon 64-bit Golang 1.7 ------------------------------ // main.go package main import ( "fmt" "log" "net/http" ) // 处理主页请求 func inde
孤荷凌寒自学第165天 区块链第079天Dapp034 【主要内容】 今天继续学习实战,做一个真正的依托于智能合约的DAPP。今天继续独立完善一个众筹的合约。共耗时35分钟。 (此外整理作笔记花费了约52分钟) 详细学习过程见文末学习过程屏幕录像。 【搜索了相关js代码监听事件的做法】
需求 当你运行脚本,在判断条件满足时,就退出脚本,结束本次执行。 方法 使用 sys.exit(),直接退出程序,但是会引发一个 SystemExit 异常; 该方法包含一个 status 参数 sys.exit(0),0 表示支持退出 sys.exit(1),1 表示异常退出 这个SystemExit异常,是唯一一个不会被认为是错误的异常,
前面的话 fs文件系统用于对系统文件及目录进行读写操作,本文将详细介绍nodejs中的文件系统 概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的。 通过 require('fs') 使用该模块。 所有的方法都有异步和同步的形式。 异步形式始终以完成回调作为它最后一个参数。 传给完成回
概述 最近做业务获取到的API中的数据格式如下: { "data": [ { "account_id": "xxx", "campaign_id": "xxxxxxx", "id": "x32xx284026xxx9" }, { "account_id": "
数据库连接 要在node.js中使用MongoDb,首先需要执行命令 npm install mongodb --save 进行安装,然后在页面中进行引入: const MongoClient = require('mongodb').MongoClient; const url = 'mongodb://127.0.0.1:27017'; const dbName = 'mongo'; const client = new MongoClie