我对node.js比较陌生,遇到一个函数返回undefined的问题。我使用console.log来确保它返回适当的值,它确实如此。但在调用该函数的脚本中显示为未定义。我认为这可能是一个异步编程的问题?我正在努力学习更多关于promise如何在node.js中工作的内容。我究竟做错了什么?函数返回undefined
我认为这是异步问题的原因是因为在getCurrentFrameName();中的console.log之前未将console.log打印到控制台。 var name正在分配未定义。
frameHandler.switchToFrame('top_page');
var name = frameHandler.getCurrentFrameName();
console.log(name);
此方法中的console.log在上述代码中的console.log后打印到控制台。打印到名称控制台的值是top_page。
this.getCurrentFrameName = function()
{
driver.executeScript('return self.name').then(function(name) {
console.log(name);
return name;
});
};
可能重复[为什么我的未来值现在不可用?](http://stackoverflow.com/questions/34959257/why-isnt-my-future-value-available-now) – 2016-02-29 16:13:48
这不是一个节点问题。这是一个JS问题。 – 2016-02-29 16:14:21