我有一个名为 createMessage 的方法,用于传递请求和响应。 当调用此方法时,它当前返回未定义,因为它在检索所有数据之前就结束了。有什么办法可以让它等待吗?
createMessage: function(request, response) {
var totalData = '';
request.on('data', function(data) {
totalData += data.toString();
});
request.on('end', function() {
totalData = JSON.parse(totalData);
totalData.created_at = new Date();
return totalData;
})
});
}
最佳答案
在 end 函数内调用回调作为其异步。这就是 Node 的本质
createMessage: function(request, response, callback) {
var totalData = '';
request.on('data', function(data) {
totalData += data.toString();
});
request.on('end', function() {
totalData = JSON.parse(totalData);
totalData.created_at = new Date();
callback(totalData)
})
});
}
关于javascript - 在 Node 中,如何要求函数仅在获取所需的所有数据后才返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35190232/