gpt4 book ai didi

javascript - 如何在不使用异步的情况下控制回调并阻止它们返回?

转载 作者:行者123 更新时间:2023-11-28 07:19:50 25 4
gpt4 key购买 nike

所以我正在使用 Node 和 Angular 开发一个项目(第一个项目)。基本上我想使用 Angulars $http 服务从数据库中获取一些内容,该服务调用 Express 中设置的端点,使用 Sequelize 查询数据库。以下是每个内容的片段:

前端 App.js

$http
.get('/getmessages').success(function(data){
$scope.messages = data;
})

服务器端消息 Controller

router.get('/', function(req, res, next){
model.getMessages(function(results){
return results;
});
})

型号

exports.getMessages = function(callback){
var result = model.findAll().then(function(messages){
return callback(messages);
});

所以我面临的问题是,在模型有机会返回之前代码就快速返回,我需要控制它。我真的需要使用异步来解决我的特定问题吗?我一直在研究如何控制流量,但无法得到我需要的答案。如果您能看一下,请先致谢。

最佳答案

检查您的回调。

function(req, res, next){
model.getMessages(function(results){
return results;
}

您的服务器端代码将返回未定义。它将运行 model.getMessages...并且在发生这种情况时,由于没有什么可做的,因此只需返回即可。这就是为什么它看起来发生得太快了。

模型返回后,可能需要将 res.send 返回到回调中。

评论中关于异步的想法。

关于javascript - 如何在不使用异步的情况下控制回调并阻止它们返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30434877/

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