为什么在此示例代码中不需要 readSync?

用户310291

在本教程中http://www.dotnetcurry.com/nodejs/1270/read-html-file-and-send-html-response-nodejs

    //1.
    var http = require('http');
    var fs = require('fs');
    //2.
    var server = http.createServer(function (req, resp) {
        //3.
        if (req.url === "/create") {
            fs.readFile("AppPages/MyPage.html", function (error, pgResp) {
                if (error) {
                    resp.writeHead(404);
                    resp.write('Contents you are looking are Not Found');
                } else {
                    resp.writeHead(200, { 'Content-Type': 'text/html' });
                    resp.write(pgResp);
                }

                resp.end();
            });
        } else {
            //4.
            resp.writeHead(200, { 'Content-Type': 'text/html' });
            resp.write('<h1>Product Manaager</h1><br /><br />To create product please enter: ' + req.url);
            resp.end();
        }
    });
    //5.
    server.listen(5050);

我不明白,因为 readFile 是异步的,如果页面需要很长时间加载,为什么它会可靠地工作?那么这里是否需要 readSync 或者即使文件非常大也允许等待页面被完全读取?

斯特凡诺

它工作正常,因为在 readFile 的参数中定义的函数(该函数称为回调函数 btw)仅在文件已被读取时才会执行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

Spring Boot->为什么我不需要在服务中捕获异常?

来自分类Dev

使用.net代码更新cshtml文件时,为什么不需要编译?

来自分类Dev

为什么在通过模板的静态分派中不需要前向声明?

来自分类Dev

为什么在scala中创建地图不需要并允许新的运算符?

来自分类Dev

为什么在CLISP中不需要使用#'(尖括号)符号?

来自分类Dev

为什么在此Javascript示例中需要调用?

来自分类Dev

为什么在此代码段中需要eval()?

来自分类Dev

在bash中,为什么我不需要转义嵌套的引号?

来自分类Dev

为什么putchar不需要标题?

来自分类Dev

为什么在此类定义中不需要空的参数列表?

来自分类Dev

为什么在此Javascript代码块中需要()?

来自分类Dev

为什么这个Forking示例不需要互斥锁?

来自分类Dev

为什么在此示例中需要“ where T:class”?

来自分类Dev

为什么不需要`call`从管道中涉及的被调用批处理脚本中返回?

来自分类Dev

为什么在下面的示例中不需要CListCtrl Update()?

来自分类Dev

为什么在此示例中需要队列锁定

来自分类Dev

代码块C项目-头文件冗余吗?(为什么工程不需要它?)

来自分类Dev

为什么在此嵌套归纳证明中不需要第二归纳假设?

来自分类Dev

为什么AWS中的NLB不需要安全组?

来自分类Dev

为什么对象不需要时Java中的数组需要具有预定义的长度?

来自分类Dev

为什么在此示例中需要Handler对象?

来自分类Dev

可可示例-为什么不需要保留或释放消息

来自分类Dev

为什么iter()需要lambda函数的&,而本例中的range却不需要

来自分类Dev

为什么某些通常不需要sudo的命令在SSH会话中需要它

来自分类Dev

为什么在C#中不需要#include指令?

来自分类Dev

为什么在CSOM示例中可以执行查询之前我不需要对用户进行身份验证

来自分类Dev

在此示例中,为什么枚举不需要创建对象?

来自分类Dev

为什么在 Java 中需要 new 运算符,而在 C++ 中不需要

来自分类Dev

ansible 中不需要 python2.7 的任务示例?

Related 相关文章

  1. 1

    Spring Boot->为什么我不需要在服务中捕获异常?

  2. 2

    使用.net代码更新cshtml文件时,为什么不需要编译?

  3. 3

    为什么在通过模板的静态分派中不需要前向声明?

  4. 4

    为什么在scala中创建地图不需要并允许新的运算符?

  5. 5

    为什么在CLISP中不需要使用#'(尖括号)符号?

  6. 6

    为什么在此Javascript示例中需要调用?

  7. 7

    为什么在此代码段中需要eval()?

  8. 8

    在bash中,为什么我不需要转义嵌套的引号?

  9. 9

    为什么putchar不需要标题?

  10. 10

    为什么在此类定义中不需要空的参数列表?

  11. 11

    为什么在此Javascript代码块中需要()?

  12. 12

    为什么这个Forking示例不需要互斥锁?

  13. 13

    为什么在此示例中需要“ where T:class”?

  14. 14

    为什么不需要`call`从管道中涉及的被调用批处理脚本中返回?

  15. 15

    为什么在下面的示例中不需要CListCtrl Update()?

  16. 16

    为什么在此示例中需要队列锁定

  17. 17

    代码块C项目-头文件冗余吗?(为什么工程不需要它?)

  18. 18

    为什么在此嵌套归纳证明中不需要第二归纳假设?

  19. 19

    为什么AWS中的NLB不需要安全组?

  20. 20

    为什么对象不需要时Java中的数组需要具有预定义的长度?

  21. 21

    为什么在此示例中需要Handler对象?

  22. 22

    可可示例-为什么不需要保留或释放消息

  23. 23

    为什么iter()需要lambda函数的&,而本例中的range却不需要

  24. 24

    为什么某些通常不需要sudo的命令在SSH会话中需要它

  25. 25

    为什么在C#中不需要#include指令?

  26. 26

    为什么在CSOM示例中可以执行查询之前我不需要对用户进行身份验证

  27. 27

    在此示例中,为什么枚举不需要创建对象?

  28. 28

    为什么在 Java 中需要 new 运算符,而在 C++ 中不需要

  29. 29

    ansible 中不需要 python2.7 的任务示例?

热门标签

归档