系统 - 睡眠无法正常工作
system - Sleep not working properly
我想将从数据库中取出的所有数据存储在arr_obj中,然后使用这个变量int async.forEachLimit函数。出于这个原因,我使用了 async.series 函数,除了 sleep(1000) 之外一切正常,代码在调用 async.series 的第二个函数后立即休眠,然后给出所有结果 together.Being NodeJs 我对这一切不太了解。
var sleep = require('system-sleep');
//
//
var arr_obj = [];
async.series([
function (callback) {
Service.listAllUser(req.body, function (err, data) {
if(err) return callback(err);
arr_obj = data.toJSON();
callback();
});
},
function (callback1) {
console.log(arr_obj);
async.forEachLimit(arr_obj, 1, function (item, callback) {
Quality_Service.qualityService(item, function (err, data) {
if (err) return next(err);
console.log(data);
});
sleep(1000);
callback();
});
callback1();
}
], function (err) { //This function gets called after the two tasks have called their "task callbacks"
if (err) return next(err);
res.send("okay");
});
尝试在foreach中使用回调,setTimeout
async.forEachLimit(arr_obj, function (item, callback) {
Quality_Service.qualityService(item, function (err, data) {
if (err) return next(err);
setTimeout(callback, 1000, err);
});
});
我想将从数据库中取出的所有数据存储在arr_obj中,然后使用这个变量int async.forEachLimit函数。出于这个原因,我使用了 async.series 函数,除了 sleep(1000) 之外一切正常,代码在调用 async.series 的第二个函数后立即休眠,然后给出所有结果 together.Being NodeJs 我对这一切不太了解。
var sleep = require('system-sleep');
//
//
var arr_obj = [];
async.series([
function (callback) {
Service.listAllUser(req.body, function (err, data) {
if(err) return callback(err);
arr_obj = data.toJSON();
callback();
});
},
function (callback1) {
console.log(arr_obj);
async.forEachLimit(arr_obj, 1, function (item, callback) {
Quality_Service.qualityService(item, function (err, data) {
if (err) return next(err);
console.log(data);
});
sleep(1000);
callback();
});
callback1();
}
], function (err) { //This function gets called after the two tasks have called their "task callbacks"
if (err) return next(err);
res.send("okay");
});
尝试在foreach中使用回调,setTimeout
async.forEachLimit(arr_obj, function (item, callback) {
Quality_Service.qualityService(item, function (err, data) {
if (err) return next(err);
setTimeout(callback, 1000, err);
});
});