如图,调试时键入 node app.js http://www.baidu.com
返回的结果为 0 1
第10行可以正确读取到dataList.length
为什么17行就是0了
我在最上面var不应该是全局变量吗
如图,调试时键入 node app.js http://www.baidu.com
返回的结果为 0 1
第10行可以正确读取到dataList.length
为什么17行就是0了
我在最上面var不应该是全局变量吗
就是整个流程会按照顺序执行下来,遇到异步的话也是会继续执行的,所以这个结果就是执行到17行的时候,异步还没完成。所以才得到空值,
在es6中有一个Promise对象,可以在异步结束之后提取到异步的返回结果,你可以试一下。或者你可以要是想在全局中找到的话,你可以在全局中再设置一个用来标志异步完成的回调值,并且在异步中改变值,然后用 if 来判断是否改变
3 回答2.6k 阅读✓ 已解决
1 回答936 阅读✓ 已解决
2 回答1.2k 阅读
1 回答923 阅读✓ 已解决
2 回答1.7k 阅读
2 回答620 阅读✓ 已解决
2 回答1.1k 阅读
因为是异步的
就类似于 执行了第 4 行,接着执行了第 17 行,然后第 10 行才执行完。