【发布时间】:2018-04-28 03:50:57
【问题描述】:
我正在构建我的第一个 CRUD(库)应用程序,并且最近了解了将 Promise 作为一种避免深度嵌套回调的方法。每次服务器启动时,我都试图用一些数据为我的数据库播种,但我似乎在概念上遗漏了一些东西。
我在 bookData 数组中有四个对象,我想使用 Mongoose 对其进行迭代并保存到数据库:
function seedBooks() {
return new Promise(function(resolve,reject){
bookData.forEach(function(seed){
Book.create(seed, function(err, newBook){
if(err) {
reject(err);
}
});
});
resolve();
});
}
这个函数是我试图链接在一起的几个函数之一,这就是我使用 Promise 的原因。但我发现seedBooks() 可以解决 1 到 4 个样本书的创建问题,
function seedDB() {
removeAllBooks()
.then(function(){
return removeAllUsers();
})
.then(function(){
return seedUsers();
})
.then(function(){
return seedBooks();
})
.then(function(){
return seedBookInstances();
});
}
我是否理解或使用了 promise & resolve 不正确?任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: javascript mongoose promise es6-promise