我必须通过api检查包含更多字符串的字符串,我使用请求模块获取请求。在完成所有请求之后,api请求存储在一个数组中,我使用回调来发送准备好的列表。但我从for循环中得到空列表。我哪里错了?请告诉我。
Object.defineProperty(Object.prototype, "extends", {
"enumerable": false,
"value" : function(constructor) {
/*Inheriting enumerable statick method and paramether
from the super class */
Object.keys( constructor ).forEach( function(key) {
this[key]= constructor[key];
}.bind(this));
/*Classic Javascript inheritance*/
this.prototype= Object.create( constructor.prototype, {
"constructor": {
"value": this,
"configurable": true
}
});
this.__super__= constructor;
}
});
答案 0 :(得分:1)
request
函数将数据放入回调中的semantic_list
。
直到请求返回之后才会执行回调(从计算机的角度来看很长一段时间)。其余代码已经完成运行,包括在任何数据有机会进入callback
之前调用semantic_list
函数。
您最好的选择是使用众多模块中的一个来帮助您运行多个并行操作。两个不错但又非常不同的选择包括async.js
和bluebird.js
。