gpt4 book ai didi

node.js - 如何在响应 AJAX 请求之前等待 Express 中的异步响应?

转载 作者:太空宇宙 更新时间:2023-11-03 23:58:32 26 4
gpt4 key购买 nike

我正在对我的 Express 服务器进行 AJAX 调用,然后需要向数据库发出异步请求。我尝试过使用await/async,并用.then做出 promise 。

问题是,我的服务器在到达 testfunc 末尾后自动响应,而不是等待 Promise 或 return 语句。

这会导致将空值发送回客户端。有没有办法让 Express 在响应 AJAX 请求之前等待 promise 或返回?

下面是我正在尝试的示例。

exports.testFunc = function(){

var data = []

asyncCall().then(function () {
//Populate data array

return { 'data' : data }
})
}

最佳答案

当异步函数完成时,处理程序需要显式写入快速响应对象

https://expressjs.com/en/api.html#res

当前处理程序将被执行,并且返回被隐式解释为响应完成。缺少的是异步操作和响应完成之间的联系。这应该通过快速响应对象来处理。

异步操作完成后,您可以调用 res.send

关于node.js - 如何在响应 AJAX 请求之前等待 Express 中的异步响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55882226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com