小编sil*_*kes的帖子

NodeJS在多个请求后无限期挂起

我有一个nodeJS(v.0.10.23)代理连接到postgres db(node-postgres模块v2.1.0),以及pgpool-II,它返回各种json数据.

回到当天,这就是连接错误的处理方式:

var after = function(callback) {
    return function(err, queryResult) {
        if(err) {
            response.writeHead(500, _header);
            console.log("ERROR: 500");
            console.log(err);
            return response.end(JSON.stringify({error: err}));
        }
        callback(queryResult)
    }
};
Run Code Online (Sandbox Code Playgroud)

基本上它的作用是在没有错误的情况下消耗响应.

可以在此处找到深入的解释:节点js - http.request()连接池问题

使用上面的函数,我有这样的事情:

pg.connect(_conString, after(function(err, client, done) {
  client.query(sql, after(function(result) {
  ...
  done();
} 
Run Code Online (Sandbox Code Playgroud)

由于当函数传递给after()的回调时上下文丢失,我失去了使用pg.connect()传递的固有done()方法的能力.

删除之后解决了问题,但随后,在适当的时间和相当数量的客户端拉动数据,节点将挂起,直到它被重置.

是否有不同的方式消耗各种异步响应?

或者也许是将pg.connect上下文传递给回调的方法?

sql postgresql asynchronous callback node.js

5
推荐指数
1
解决办法
2497
查看次数

typeORM: "message": "\"postgres\" 数据库不支持 \"..." 中的数据类型 \"Object\"。"

鉴于以下实体定义:

@Entity()
export class User extends BaseEntity {
  @Column({ nullable: true })
  name!: string | null;
  
  @Column()
  age!: number;
}
Run Code Online (Sandbox Code Playgroud)

出现以下错误:

typeORM:   "message": "Data type \"Object\" in \"User.name" is not supported by \"postgres\" database."

...

name: 'DataTypeNotSupportedError',
  message:
   'Data type "Object" in "User.name" is not supported by "postgres" database.' }
Run Code Online (Sandbox Code Playgroud)

在查看构建时,我看到 TS 发出的元数据将其作为对象进行寻址:

__decorate([
    typeorm_1.Column({ nullable: true }),
    __metadata("design:type", Object)
], User.prototype, "name", void 0);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

postgresql node.js typescript reflect-metadata typeorm

5
推荐指数
2
解决办法
2251
查看次数

jQuery serialize + base64encode

有没有办法序列化一个表单,以便输出将是base64编码?

带着敬意,

麦克风.

forms jquery base64 serialization

0
推荐指数
1
解决办法
1万
查看次数