2012-04-12 19 views
5

Tôi đang chơi xung quanh với Node.js và một cái gì đó kỳ lạ xảy ra khi bạn chạy mã này:biến được tăng lên gấp đôi trong hàm callback Node.js http

var http = require("http"); 
var i = 0; 

function onRequest(request, response) { 
    response.writeHead(200, {"Content-Type": "text/plain"}); 
    response.write("You're number " + i++); 
    response.end(); 
} 

http.createServer(onRequest).listen(8888); 

Tôi mong chờ nó cư xử như một bộ đếm số lượt xem trang , nhưng với mỗi lần làm mới tab trình duyệt, tôi nhận được kết quả của những gì có vẻ là i=i+2 thay vì gia tăng đơn giản. Ai đó có thể giải thích hành vi này với tôi?

Trả lời

12

Trình duyệt của bạn cũng đang đập máy chủ của bạn cho favicon.ico. Mỗi yêu cầu gia tăng i và yêu cầu số lượng favicon.ico.

Sử dụng công cụ như Fiddler hoặc WireShark để tự mình xem hành vi này.

+0

[Yep.] (Http://mathiasbynens.be/notes/rel-shortcut-icon) Đây là câu trả lời. –

2

Tôi đặt cược đó là yêu cầu favicon mà các trình duyệt yêu thích gửi đi lặp lại.

+0

Cảm ơn! Tôi nghĩ rằng nó đã làm 2 yêu cầu, nhưng không biết tại sao. : D –

Các vấn đề liên quan