【发布时间】:2020-12-27 16:48:32
【问题描述】:
我有异步功能
async function getEltern(id){
var eltern = await getTreeById(id);
var description = eltern.Descriptions.CategoryDescription;
description = (description.length > 1) ? description[0].Description: description.Description;
if (description == 'Test1' || description == 'Test2'){
return eltern;
}
eltern = await getEltern(eltern.CategoryId);
}
但是当我调用函数时
var eltern = await getEltern(parentNode.CategoryId)
我得到了变量 eltern undefined。但它在函数中返回一个对象。
谁能帮助我的代码出了什么问题?
【问题讨论】:
-
需要一些关于
getEltern()函数的细节 -
您的函数要么在分配之前返回
eltern(getTreeById 可能返回undefined?),要么在if 语句的条件为假时永远不会返回。 -
@KhanhLeTran
getEltern函数就在那里,它递归地调用自己。 -
getEltern()在 if 语句不正确的情况下不返回任何内容 -
@wapt49 在
eltern = await getEltern(eltern.CategoryId);从您的getEltern函数之后,您不会从您的函数中返回任何内容,因此在这种情况下它会返回undefined
标签: javascript node.js async-await