我有一个很奇怪的问题。
我希望找到满足条件的数组的第一个元素,但find函数必须标记为async,因为执行搜索需要承诺。
请注意,下面的代码只是一个示例。没有显示执行异步搜索的实际代码。但下面的内容与我在find函数中打算做的完全相似
下面是示例代码
async testForVideo() {
let media=["sampleMedia.png"];
let video = media.find(async (x) => await x.includes(".mp4"));
console.log(`Retrived Video=${video}`);
}
对我来说,我不断得到的回应是
Retrived Video=sampleMedia.png
这太奇怪了。我正期待着
undefined
作为正确的结果,为什么它会返回错误的值呢?
我正期待着
Retrived Video=undefined
如果您有任何关于这种情况的想法,我们将不胜感激。
非常感谢。