我對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