【发布时间】:2014-03-29 07:43:46
【问题描述】:
我是 node.js 的新手,对 javascript 比较陌生。我已经了解回调是如何工作的,并想自己尝试一个函数。这是我的代码:
MyScript.js:
var calledfunction = function()
{
console.log("This is a called function");
for(i=0;i<1090660;i++)
{
console.log(i);
}
console.log('done');
};
var sayHello = require('./sayhello.js');
objhello = new sayHello();
objhello.setupSuite(1,calledfunction);
console.log('Next statement;');
sayhello.js
var _ = require('underscore');
module.exports = exports = CLITEST;
function CLITEST(param1,param2)
{
}
_.extend(CLITEST.prototype, {
setupSuite: function (here,callback) {
console.log(here);
console.log('This is a callback function');
callback();
}
})
上面的程序是通过执行> node Myscript.js来运行的
我的问题是:for 循环需要 50 秒来执行并打印控制台中的所有数字,然后只执行回调函数之外的“下一个语句”行。
为什么会这样?因为我读到理论说立即语句将被执行而无需等待函数执行。
理想的输出应该是:打印“下一条语句”,然后打印 for 循环的内容
但在上述情况下,反之亦然?
【问题讨论】:
-
尝试修复你的代码格式,它很难阅读
-
你的代码中没有异步函数,为什么要先打印
Next statement?
标签: javascript node.js