为什么有些回调函数需要时间才能完成,而有些函数可以在运行后立即返回值

时间:2018-03-11 11:13:26

标签: javascript callback

据我所知

  

'作为参数传递的任何函数都称为回调   函数“

,并且如果回调函数需要一些时间来完成,则此回调函数所遵循的语句将运行。以下是array.filter() var words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.length > 6); console.log(result); // expected output: Array ["exuberant", "destruction", "present"] 中使用回调的示例:

console.log(result)

我的问题是为什么我可以立即获得callback输出,而不是'undefined'或其他什么?

这是否意味着Array.prototype.filter()内使用的readFile('example.text)可以非常快速地竞争。只有那些花费一些时间的回调,比如下载,阅读文件,与数据库交谈等等(undefined可能有df <- as.data.frame(primer_matrix1a) names(df)<- c("Primer","min","max") df$min <- as.numeric(as.character(df$min)) # Converts factor to numeric df$max <- as.numeric(as.character(df$max)) df$mean<- mean(c(df$min,df$max)) ggplot(df, aes(x=Primer))+ geom_linerange(aes(ymin=min,ymax=max),linetype=2,color="blue")+ geom_point(aes(y=min),size=3,color="red")+ geom_point(aes(y=max),size=3,color="red")+ theme_bw() 结果值,显示为MDN

1 个答案:

答案 0 :(得分:1)

  

Array#filter方法本质上不是异步的,它意味着"callback"函数不会等待任何类型的IO或网络调用。

在Filter方法中,提供的函数(callback)用于测试值是否超出给定条件。

如果你浏览文档,它会说 -

callback - &#34;函数是一个谓词,用于测试数组的每个元素。返回true以保留元素,否则返回false#34;