我使用Mockaroo API模拟数据。然后我想在我的数据库中每秒发布一次。因此,当我使用Postman测试post方法时,它运行良好,但是当我尝试使用setInterval()
时,它不起作用,并且它不会显示任何错误。我发现我的数据库是空的,因此它不会发布数据。
这是我的代码:
function Post (){
/*router.post('/tu',*/
function P(req, res, next) {
var result;
var inde=["Ariana","Beja"];
for (var o=0; o<inde.length; o++) {
client.generate({
count: 2,
schema: inde[o]+' indexes'
}).then(function(records) {
for (var i=0; i<records.length; i++) {
var record = records[i];
var c = new models.pollution(record);
c.save(function(err, records){
if(err) res.json({error: err});
result=records;
});
}
})
}
res.json(result);
console.log("success");
}
};
setInterval(Post,1000);
感谢您的帮助。
答案 0 :(得分:1)
看起来您没有调用在“POST”功能中定义的函数“P”。你可以将函数P作为一个 IFFY(立即调用的函数表达式)函数。
function Post (){
/*router.post('/tu',*/
(function P(req, res, next){
var result;
var inde=["Ariana","Beja"];
for (var o=0; o<inde.length; o++) {
client.generate({
count: 2,
schema: inde[o]+' indexes'
}).then(function(records) {
for (var i=0; i<records.length; i++) {
var record = records[i];
var c = new models.pollution(record);
c.save(function(err, records){
if(err) res.json({error: err});
result=records;
});
}
})
}
res.json(result);
console.log("success");
})(req, res, next);
};
setInterval(Post,1000);