我是 deno 的新手,并创建了一个简单的代码来响应我的请求。 我在那里放了一个计数器来查看响应重复了多少次,每次都会得到两次。
我的代码有什么问题,使服务器对每个请求响应两次?
import { serve } from "https://deno.land/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0b787f6f4b3b253e38253b" rel="noreferrer noopener nofollow">[email protected]</a>/http/server.ts";
const s = serve({ port: 8891 });
var counter=0;
console.log("http://localhost:8891/");
for await (const req of s) {
req.respond({ body: "<h1>" + counter + "</h1>" });
counter ++;
}
网络浏览器上计数器的响应: 2,4,6,...
最佳答案
如果您在浏览器上执行该操作,浏览器会向 /favicon
发出额外请求,这就是您认为服务器响应两次的原因。
如果您使用 HTTP 客户端(例如 curl
)运行该程序,您将获得预期的行为。
您可能需要检查 URL 并响应一件事或另一件事,具体取决于它是 /
还是 /favicon
。
关于typescript - 德诺 |响应发生两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61988395/