我是新入javascript,目前我正在学习回调我的脚本。这个脚本应该返回减少的话中的对象回调问题
的阵列var fs = require('fs')
var dict = ['corpus.txt','corpus1.txt','corpus2.txt'];
mapping(dict, function(error,data){
\t if(error) throw error
\t console.log(data)
})
function mapping(list, callback){
\t var txtObj = []
\t list.forEach(function (val) {
\t \t readFile(val, function(error,data){
\t \t \t txtObj.push(data)
\t \t })
\t })
\t function readFile(src, cb){
\t \t fs.readFile(src,'utf8', function (error,data) {
\t \t \t if (error) return callback(error,null)
\t \t \t return mapred(data)
\t \t })
\t }
\t return callback(null,txtObj)
}
但它返回空数组。任何帮助,将不胜感激。 谢谢!
你需要不是立即调用'callback',而是稍后调用'readFile'。这有点棘手,因为你有多个文件。试着让它首先使用单个文件。一旦你明白了这是如何工作的,回到另一个问题就是如何使它与许多人合作。 – Thilo