使用Nodejs触发一个JavaScript函数[duplicate]

vulvrdjw  于 2023-11-17  发布在  Node.js
关注(0)|答案(2)|浏览(174)

此问题在此处已有答案

Use server side events to dynamically send message to browser(2个答案)
昨天就关门了。
我想用Nodejs触发一个客户端函数JavaScript,我试图从Nodejs获得响应,以便在我的网站上显示数据
一个程序将向我的Nodejs Api示例(htpp://localhost:3000/apiResponse)发送一个API,其中包含一些数据,我希望将API数据发送到我的前端
我该如何做到这一点,或者有没有其他方法可以在API向我发送时触发函数值?

xwbd5t1u

xwbd5t1u1#

您可以使用浏览器原生fetch函数来调用您的API:

  1. fetch('http://localhost:3000/apiResponse')
  2. .then(response => response.json())
  3. .then(json => console.log(json))

字符串

  1. const main = async () => {
  2. const json = await (await fetch('http://localhost:3000/apiResponse')).json();
  3. console.log(json);
  4. };
  5. main();

展开查看全部
am46iovg

am46iovg2#

我会这么处理
1.在前端创建一个函数,向本地节点服务器发出请求。该函数是异步的,因为我们不确定服务器需要多长时间才能响应。例如,您可以在单击按钮时调用该函数。

  1. const handleGetResponse = async () => {
  2. let data = {};
  3. try {
  4. const response = await fetch("htpp://localhost:3000/apiResponse").then(res => res.json())
  5. data = response;
  6. console.log("%cdata:", data);
  7. } catch(error) {
  8. console.log(error);
  9. }
  10. }

字符串
1.在节点文件中创建一个函数来处理响应

  1. const nodeHandleResponse = () => { // handle response };


1.在同一个节点文件中,创建一个接收前端请求的路径,并调用处理响应的节点函数。然后,将响应发送到前端。

  1. app.get("/apiResponse", async (req, res) => {
  2. nodeHandleResponse().then(response => res.send(response))
  3. });


请注意,来自前端的请求URL与节点GET路径->“apiResponse”相同。

展开查看全部

相关问题