【发布时间】:2012-06-08 15:15:20
【问题描述】:
我是 nodejs 的新手。在 nodejs 级别处理回调非常困难。我有这样的代码,
getItems(request,function(jsonObject){
var itemData={};
var itemDetails=new Array();
for(var i=0;i < jsonObject.length;i++){
getItemDetails(jsonObject[i].value.item_id,function(jsonObject){
itemDetails.push(jsonObject);
});
}
itemData["itemDetails"]=itemDetails;
response.contentType("application/json");
response.send({"data":itemData});
});
在执行上述代码时,for 循环继续进行,没有从 getItemDetails 方法获取回调并将响应发送给客户端。我的要求是循环将等到从 getItemDetails 收到回调,然后响应应该发送。 我已尝试使用 process.nextTick(),但我无法找到必须使用该 process.nextTick() 的地方。请任何人提供建议。
提前致谢。
【问题讨论】: