我有下面的代码,其中我链接了一些承诺。我遇到的问题是,在这一行 let message = mRes.Messages.find(m => m.MessageId===id);
上,我正在从数组中查找某个对象,如果找不到,则 find 函数将返回 undefined。当我在 findMessage 函数中打印值时,我得到未定义。这正是我在此行 findMessage(1).then((res)=>console.log(res));
上所期望的。但是,我得到了从 f1 函数返回给 findMessage 函数的整个对象。当在 findMessage 函数中找到所需的对象时,我会从数组中取回单个对象。所以它不想在数组中找不到记录时返回 undefined 。我不明白为什么在这种情况下我没有变得不确定
async function f1() {
return await //some data from a backend
}
function findMessage(id) {
return f1().then((mRes) => {
let message = mRes.Messages.find(m => m.MessageId === id);
console.log(message);
return message;
});
}
findMessage(1).then((res)=>console.log(res));