我正在尝试使用 request-promise 在数据库中插入来自 js 对象的数据,并使用 POST 的响应更新对象,但我不知道如何在最后一个 .then() 中获取我更新的对象
我不了解非常好的承诺,也不知道如何管理 if ... else
var rp = require('request-promise')
var test_films = require("./films.json")
function searchPerson(persons, firstname, lastname) {
return persons.filter(function (p) {
return p.firstname == firstname && p.lastname == lastname
})
}
var options = {
uri: 'http://my-api',
json: true
}
rp(options)
.then(function (persons) {
test_films.forEach(function(comedien) {
var found = searchPerson(persons, comedien.firstname, comedien.lastname)
if (found.length === 0) {
console.log('user: ' + comedien.firstname + ' ' + comedien.lastname + ' not found, insert it!')
options = {
method: 'POST',
uri: 'http://my-api',
formData: {
firstname: comedien.firstname,
lastname: comedien.lastname
},
json: true
}
// POST actor and insert id created in array
rp(options)
.then(function (body) {
comedien.person_id = body.id
})
.catch(function (err) {
console.log(err)
})
}
else {
console.log('User: ' + comedien.firstname + ' ' + comedien.lastname + ' already exists!')
comedien.person_id = found[0].id
}
})
return test_films
})
.then(function (result) {
// The object is not updated after i insert it in database
console.log(result)
})
.catch(function (err) {
console.log(err)
})
谢谢你的帮助 !
PS:告诉我为什么你不赞成我试图改善我的问题!