getting-started-with-javascript
getting-started-with-javascript copied to clipboard
js数组中的数据去哪里了?
在外面定义了一个数组,读多个json文件,依次把数据push到数组中了。可是,在最后把数组数据一次性写文件时,数组数据又为空了,这是为什么?我错在哪里?
for循环里调用了异步函数。异步函数会通过回调方式返回结果。但是,在还没有回调之前,jsonFile.writeFile这行代码已经执行了。
// 模拟异步处理的手法
// 定义一个函数,函数名为callback
function callback() {
console.log('我终于被调用了');
}
// 5秒钟后调用callback函数
setTimeout(callback, 5000);
console.log('哇喔,我已经结束了');
用上面这段代码来观看结果,体会异步的整个执行流程。或许能得到思路。
懂了,原来是异步的问题。谢谢老师。