我有以下内容:
var module = {}
module.setDate = function() {
var d = new Date();
return d;
}
我现在说:
function logDate(){
var date = module.setDate();
console.log(date)
console.log('finished')
}
var date
的设置是module.setDate()
的返回值同步还是异步?控制台可能看起来像:
undefined
'finished'
答案 0 :(得分:0)
我认为你混淆了一个带有构造函数的函数调用。
var d = new Date();
这将立即创建一个Date
对象,这就是你的函数返回的内容。
另一方面,如果您的功能是
var module = {}
module.setDate = function() {
return function() {
var d = new Date();
return d;
}
}
这将是异步的,但不能并行执行。您返回的函数的执行将等到您调用该函数。
function logDate(){
var date = module.setDate();
console.log(date() /* <--- need these parens, now! */)
console.log('finished')
}
为了真正并行执行,我认为你试图通过说“异步”来提问,那么我建议你阅读其中一个链接。