说我们有
var x =3;
var y = 4;
var z = x*y;
console.log(z);
我们怎么知道它不会打印未定义的变量z?
var express = require('express');
当你在一个脚本中加载其中一些时,这不是很慢吗?
答案 0 :(得分:7)
nodejs中的变量赋值是否同步?
是的,是的。
实际上,任何语句序列都是同步执行的。
您可能会对以下类型的情况感到困惑:
var x = LongRunningAsyncTask();
console.log(x);
此处,LongRunningAsyncTask
无法返回其结果,因为尚不知道。因此,x
可能不是您想要的,这就是为什么假设LongRunningAsyncTask
以回调样式实现,您需要编写
LongRunningAsyncTask(function callback(x) {
console.log(x);
});
或如果LongRunningAsyncTask
返回承诺,则
LongRunningAsyncTask() . then(x => console.log(x));
或使用异步函数:
async function foo() {
var x = await LongRunningAsyncTask();
console.log(x);
}