javascript - NodeJs,api路由返回后异步函数是否完成

标签 javascript node.js asynchronous

我的本​​地测试发现这个问题是正确的。

给出以下代码,其中“asyncOne”和“asyncTwo”是异步函数,如果“asyncTwo”在“asyncOne”之前完成,“asyncOne”是否仍有时间完成执行?

router.get("/", function (req, res, next) {

       asyncOne(function () {
            console.log("Completed asyncOne");
       });


       asyncTwo(function () {
            console.log("Completed asyncTwo");

            return res.json("Done.");
       });
});

最佳答案

是的,所有代码都会执行。但是您无法在 asyncOne 函数中 return res.json("Done.");,因为已经发送了结束响应。

如果您希望在两个异步函数完成后调用 return,您应该查看 async模块。真的很棒。

关于javascript - NodeJs,api路由返回后异步函数是否完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34853664/

相关文章:

c# - 异步线程体循环,它只是工作,但如何?

javascript - 在另一个数组中查找数组并获取结果索引

javascript - Apollo GraphQL 解析器类型签名中的信息参数为空

mysql - NODEJS - 执行 INNER JOIN Sequelize

c# - 如何在 .NET 中测试并发场景?

javascript - 通过回调异步访问 $get

javascript - Eslint:仅在插件规则上使用

javascript - sails.js 和多个参数

javascript - fs.createReadStream循环未完成

javascript - 用于匹配 JS import 语句的正则表达式