Я пытаюсь вставить записи с помощью bulkCreate, но он не выходит после вызова этого метода. Пожалуйста, посмотрите ниже:
Это схема класса для создания модального
import Sequelize from "sequelize";
import {database, username, password, options} from './config.json';
class Schema {
constructor() {
this.sequelize = new Sequelize(database, username, password, options);
}
bucketModal(){
return this.sequelize.define('S3bucketFiles', {
BucketName: Sequelize.STRING,
FileName: Sequelize.STRING,
IsInUse: Sequelize.INTEGER,
BucketType: Sequelize.INTEGER
},
{
timestamps: false
});
}
}
export const AwsSchema = new Schema();
Ниже приведен класс, в котором я вставляю массовые записи в базу данных:
import Sequelize from "sequelize";
import {database, username, password, options} from './config.json';
import {AwsSchema} from './schema';
class Aws {
constructor() {
this.sequelize = new Sequelize(database, username, password, options);
this.bucket = AwsSchema.bucketModal();
}
/**
* Save data
* @param data
*/
create(data) {
return new Promise(resolve => {
resolve(this.bucket.bulkCreate(data));
})
}
}
export const AwsDb = new Aws();
Здесь проблема с функцией Создайте().
create(data) {
return new Promise(resolve => {
resolve(this.bucket.bulkCreate(data));
})
}
Вы можете видеть, что я пытаюсь вернуть Promise, но bulkCreate не завершается. Результат показан примерно так:
37571438059.png',2),(N'customerud',N'bug426_CA5592_63600919dfdf93388220.jpg',2);
новая строка здесь не отображается, курсор мигает вверху, и когда все данные сохранены, он не выходит.
Если я просто напишу следующий код ниже:
create(data) {
return new Promise(resolve => {
resolve(5);
})
}
Теперь сценарий завершается, и я вижу следующий вывод, который мне нравится:
data records
amuk@amuk:~
Поэтому я просто хочу знать, есть ли способ выйти из bulkCreate или что-то не так в коде?
Вместо того, чтобы разбивать файлы aws на куски, я отправляю все массово, чтобы продолжить метод, и он сработал.





Если вы успешно используете код
resolve(5), это означает, чтоresolve(this.bucket.bulkCreate(data))не выполняет успешно. Похоже, чтоthis.bucket.bulkCreate(data)не возвращаетtrueв каждом случае и не обещает разрешения. Можете проверить, каков результатthis.bucket.bulkCreate(data)? Взгляните также на stackoverflow.com/questions/35079286/….