一个for循环内的承诺没有按预期工作

我有一个简单的代码包装创build方法与承诺为:

function create(api, record) { return new Promise(function (resolve, reject) { api.create(record, function (err, result) { if (err) reject(err); else resolve(result); }); }); } 

我想用来插入logging到我的数据库中:

 for (var i = 0; i < dummyData.products.length; i++) { create(productsAPIService, dummyData.products[i]) .then(function(product) { logInsert("product", false, product._id); }) .catch(function(err) { logInsert("product", err, product._id); }); } 

对于我不清楚的原因,这个东西好像只插入第一条logging。 难道我做错了什么?