搜尋

首頁  >  問答  >  主體

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

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

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

伊谢尔伦伊谢尔伦2829 天前790

全部回覆(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
  • 取消回覆