node.js - 如何处理node js的执行流程

标签 node.js

var total = 0;

setTimeout(function(){
    total = 5000;
},5000);
pa = (total*40)/100;
console.log("Pa :"+pa);

输出:

Pa : 0

如何获得正确的 pa 值。我认为回调函数...... 但不知道更多请帮助我 [信息:我在上面的示例中使用计时器,因为我想从另一个函数检索一些值,并且需要 5 秒才能返回。] 提前致谢...

最佳答案

强烈建议您查看 async类似这样的模块。我使用它编写了一些示例代码,它返回了 2000。

var async = require ('async');

var total = 0;

async.series([
    function(callback){
        // do some stuff ...
        setTimeout(function(){
            total = 5000;
            callback(null);
        },5000);

    },
    function(callback){
        pa = (total*40)/100;
        callback(null);
    },
],
//Now the other tasks are completed.
function(err, results){
    console.log("Pa :"+pa);
});

关于node.js - 如何处理node js的执行流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9516274/

相关文章:

javascript - 指定始终在最后运行的 Express 中间件?

node.js - 使用 npm 安装 gulp

javascript - Node.js - 显示来自 MongoDB 的图像

node.js - Utf8Value 错误 C2661 : No overloaded function takes 2 arguments

javascript - 深度嵌套的 JS 闭包

node.js - 错误: EACCES when writing file using Node.js

javascript - 使用 Promise 将 mongoose 函数单独保留在 Nodejs 应用程序中

javascript - 使用 Sequelize 子查询

node.js - 从 VS Code 运行 nest.js

node.js - 使用 express-session 和 connect-session-sequelize 时 this.sessionModel.find 不是函数