2013-06-24 32 views
1

的例子找工作,但是當我server.listen(1234, '127.0.0.1');取代server.listen(1234);測試返回以下錯誤:「錯誤:未運行」如何在Node.js測試中關閉net.Server?

describe('Server', function() { 
    it('should do something', function(done) { 
    var server = new net.Server(); 
    server.listen(1234); 

    // do something 

    server.close(); 
    done(); 
    }); 
}); 

你能解釋到毫瓦,爲什麼?

回答

0

這是因爲listen是異步的。只是在沒有給出第二個參數的情況下,它會同步打開,以至於close不會失敗。對於這個問題,close也是異步的。

it('should do something', function(done) { 
    var server = new net.Server(); 
    server.listen(1234, '127.0.0.1', function(){ 
    // do something 

    server.close(done); 
    }); 
});