首頁  >  問答  >  主體

node.js - nodejs的http.get超时问题以及“装饰器”问题

我用nodejs 进行http.get请求时,发现遇到无效网址,往往会出现卡死,经过google发现http.get好像不能设置超时,google到设置超时也有其他方法,可是我一个新手,对于那些代码看得不太懂,希望大家同通俗易懂说说这个的问题

关于"装饰器"是由python中引申出来的,是另一个问题,比如计算一个函数执行时间,在python中写一个caculateTime装饰器,很容易做到这一点,而且复用性也很高。现在我在nodejs想要实现类似的功能,nodejs有没有类似的语法特性或解决方案?

伊谢尔伦伊谢尔伦2761 天前745

全部回覆(2)我來回復

  • 黄舟

    黄舟2017-04-17 11:11:34

    @decorator
    def func():
      pass
    

    等同于

    def func():
      pass
    func = decorator(func)
    

    所以在 JavaScript 里你可以写:

    var func = function(){};
    func = decorator(func);
    

    回覆
    0
  • PHPz

    PHPz2017-04-17 11:11:34

    process.hrtime() 就是用来计算函数执行时间的。

    至于第一个问题,你需要监听 socket 事件,然后处理 socket.setTimeout() 来设置超时,监听 tiemout 来执行超时回调。

    Http 请求是基于 socket 的,请查阅相关文档。

    回覆
    0
  • 取消回覆