繁体   English   中英

具有其他函数的返回值作为变量的函数,是否异步?

[英]Function with return value of other function as variable, async or not?

我有以下内容:

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'

我认为您将函数调用与构造函数混淆了。

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')
}

为了真正并行执行(我认为这是您要通过说“异步”来提出的问题),那么建议您阅读这些链接之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM