【发布时间】:2018-06-02 19:48:13
【问题描述】:
我有一个关于回调函数的问题。考虑这个简单的代码:
var array = [1,2,3];
console.log(array.map(function(val){
return val * 2
}))
这将正确地记录回控制台[2,4,6],这意味着它正在“返回”该值。
现在考虑这个(注意:假设“ab”是一个有效目录)
fs.readdir("ab",function(err,data){
console.log(data)
})
此代码运行良好,并将在终端打印目录“ab”中的文件名数组。但是,相同的代码:
console.log(fs.readdir("ab",function(err,data){
return data
}))
这将打印undefined..这是为什么?如果在之前的 sn-p 中我可以将data 记录到终端,为什么我不能返回值并将其记录到控制台?包含map 方法的第一个sn-p 如何使用相同的逻辑工作?
谢谢。
【问题讨论】:
标签: node.js asynchronous asynccallback