Так что я не знаю, действительно ли это описывает мою проблему, но является ли она самой близкой, которую я мог бы получить.
Я использую AWSAppsyncClient для выполнения некоторых мутаций GraphQL.Из-за характера модели и, в большей степени, моей неопытности, мне нужно создать запись main
, а затем две записи, которые зависят от первой, прежде чем я смогу связать их в базе данных.
В настоящее время я делаю первую мутацию, и она возвращает идентификатор созданной записи.Промежуточные записи затем создаются в обещаниях, возвращаемых запросом.В основном это выглядит так:
AppsyncClient.mutate(mutation,parameters)//first api call
.then( function (res){
// create the new object from the response of the mutation
return AppsyncClient.mutate(mutation,parameters)})//second api call
.then( function (res){ // second API Call
// create the new object from the response of the mutation
return AppsyncClient.mutate(mutation,parameters)})
.then(etc...
Проблема в том, что обещание повторно выполняет исходный запрос к моему API.Например, создается первая запись и возвращается идентификатор, но затем во втором вызове API первый запрос каким-то образом снова выполняется, наряду с новым, в результате чего создаются две исходные записи.Это продолжается до тех пор, пока цепочка продолжается, всегда снова выполняя предыдущий запрос, создавая две записи для каждого нового объекта.(Это происходит только тогда, когда в обещании выполняется другой запрос.)
Я не знаю, достаточно ли это ясно, я с радостью предоставлю больше деталей, если это необходимо, но может кто-нибудь сказать мне, что яя делаю неправильно?