Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用节点Express创建异步应用程序_Node.js_Asynchronous_Socket.io - Fatal编程技术网

Node.js 如何使用节点Express创建异步应用程序

Node.js 如何使用节点Express创建异步应用程序,node.js,asynchronous,socket.io,Node.js,Asynchronous,Socket.io,我正在使用Node和Express开发一个应用程序。一切都很好,但是该应用程序目前不是异步的,我希望它是异步的,所以我目前正在研究什么是最好的方法来实现它 据我所知,socket.io似乎是使用Node的首选 我的问题是,socket.io的方法是在服务器和客户端之间移动数据的最佳方法,还是有更好、更健壮的方法?也许只有节点才能完成某些事情 PS:我觉得socket.io听起来很不错。只是我对Node还不熟悉,虽然有一种更简单的方法来来回移动数据 非常感谢 编辑: 好吧,我以前见过“实时”这个词

我正在使用Node和Express开发一个应用程序。一切都很好,但是该应用程序目前不是异步的,我希望它是异步的,所以我目前正在研究什么是最好的方法来实现它

据我所知,socket.io似乎是使用Node的首选

我的问题是,socket.io的方法是在服务器和客户端之间移动数据的最佳方法,还是有更好、更健壮的方法?也许只有节点才能完成某些事情

PS:我觉得socket.io听起来很不错。只是我对Node还不熟悉,虽然有一种更简单的方法来来回移动数据

非常感谢

编辑:

好吧,我以前见过“实时”这个词,人们不赞成它。评论者暗示,从技术上讲,没有“实时”应用程序,因此我选择异步,但实时确实描述了我所追求的:一个完全类似ajax的应用程序。例如,在我的应用程序中,当我需要编辑保存的文档(mongodb记录称为文档)时,我需要重定向将文档id作为参数传递的页面。我不想那样。我想要整个ajax。我可以通过jQuery实现这一点,但是在幕后服务器仍然会通过URL移动(我需要创建
app.get('product/:id/edit',…)、app.post('/product/:id/edit',…
),然后使用$.ajax获取和发布内容),所以我想知道实现这一点的最佳方法是什么

PS:我可能完全错了。就像我说的,我对Node和应用程序开发都是新手

EDIT2:一个示例:假设我有一个页面,其中有一个表,列出所有产品。每个产品都有一个编辑/删除按钮。此时,当我单击编辑时,我被重定向到另一个页面,在那里我可以编辑产品并保存它,然后我被重定向到产品列表。我更喜欢将产品加载到模式窗口,进行我需要的任何编辑,然后在不离开页面的情况下更新产品/清单

使用$.ajax,我可以使用产品ID,查询该特定产品的数据库,用产品详细信息填充模式中的字段并显示给用户。然后允许用户进行更改并更新产品,但是我需要查询数据库以填充模式的部分比较混乱,因为ID需要e通过了url


我不知道如何将id传递给应用程序,除非是通过
app.get('/product/:id/edit',…)
然后
app.post('/product/:id/edit'))

是的!socket.io是这里的最佳选择。后端的socket.io库将管理所有内容,您只需添加代码,前提是基础平台支持socket,即使它不支持socket.io,也会为您管理它(使用平台支持的方式)因此,你的应用程序可以部署到任何地方。你说它不是异步的是什么意思?作为一个体系结构,节点的关键在于它是异步的……你可能需要澄清你想要实现什么。实际上没有让应用程序异步的事。至于在服务器和服务器之间移动数据的最佳方式是什么客户端也取决于您要做什么。只有当您希望服务器启动数据传输时,WebSocket才有意义。我认为您要寻找的词是实时的,而不是异步的。