gpt4 book ai didi

node.js - 如何在NodeJs中的sequelizer中执行异步查询

转载 作者:太空宇宙 更新时间:2023-11-04 01:49:49 26 4
gpt4 key购买 nike

你好,我尝试了以下代码,但我的代码无法正常工作

tags.forEach(function(value) {
var where1 = {};
var attr1 = ['id'];
attr1 = ['id'];
where1['name'] = value;
tagData['name'] = value;
tagModel.getTag(where1, attr1, function(code2,result2){
if(result2.length!=0) {
var quick_start_tagData={'quick_start_id' : result1['id'], 'tag_id' :result2[0]['id']}
quick_start_tagModel.saveData(quick_start_tagData, function(code2,result2){
});
console.log(quick_start_tagData);
} else {
tagModel.saveData(tagData, function(code2,result2) {});
}
});
});

问题是当我将该数据的值检查到表中时,for循环迭代数据数量,如果表具有相同的值,则获取其id并插入,如果不是则添加新记录并获取其id并插入另一个表

但首先 select 查询始终执行,然后 insert 查询在循环中执行

如何解决这个问题

像这样查询执行

执行(默认):

SELECT id FROM pxl_tag AS pxl_tag WHERE pxl_tag.name = 'a1';

SELECT id FROM pxl_tag AS pxl_tag WHERE pxl_tag.name = 'a2';

SELECT id FROM pxl_tag AS pxl_tag WHERE pxl_tag.name = 'a3';

INSERT INTO pxl_tag (id,name,created_at,updated_at) VALUES (DEFAULT,'a3','2018-05-04 04:35:32','2018-05-04 04:35:32');

INSERT INTO pxl_tag (id,name,created_at,updated_at) VALUES (DEFAULT,'a3','2018-05-04 04:35:32','2018-05-04 04:35:32');

INSERT INTO pxl_tag (id,name,created_at,updated_at) VALUES (DEFAULT,'a3','2018-05-04 04:35:32','2018-05-04 04:35:32');

但我想先一步一步选择插入

最佳答案

您可以使用each方法来自 async图书馆。例如:

更新

async.each(tags, function(value, cb) {
var where1 = {};
var attr1 = ['id'];
attr1 = ['id'];
where1['name'] = value;
tagData['name'] = value;
tagModel.getTag(where1, attr1, function(code2, result2) {
if (result2.length != 0) {
var quick_start_tagData = {
'quick_start_id': result1['id'],
'tag_id': result2[0]['id']
}
quick_start_tagModel.saveData(quick_start_tagData, function(code2, result2) {
cb();
});
console.log(quick_start_tagData);
} else {
tagModel.saveData(tagData, function(code2, result2) {
cb();
});
}
});
}, function(err) {
if (err) {
console.log('An error ocurred');
} else {
console.log('Nothing happens');
}
});

关于node.js - 如何在NodeJs中的sequelizer中执行异步查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50153812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com