У меня есть этот резолвер
SLAccount: (_, { imsUserId, imsToken }, context) =>
new Promise((resolve, reject) => {
addAuth(context, imsUserId, imsToken);
context.model
.getUserAccount(getEndpoint(imsUserId, imsToken))
.then(resolve)
.catch(reject);
}),
Но есть еще один метод / модель, которую мне нужно включить:
getHardware(endpoint) {
return this.connector
.get(
`${endpoint}/...`,
)
.catch(res => this.handleError(res));
}
Так что мне понадобится что-то вроде этого:
SLAccount: (_, { imsUserId, imsToken }, context) =>
new Promise((resolve, reject) => {
addAuth(context, imsUserId, imsToken);
context.model
.getUserAccount(getEndpoint(imsUserId, imsToken))
.then(resolve)
.catch(reject);
context.model
.getHardware(getEndpoint(imsUserId, imsToken))
.then(resolve)
.catch(reject);
}),
Дело в том, что мне не нужно вызывать их одновременно, иногда мне нужен только один из этих методов / моделей внутри SLAccount.
Итак, как лучше всего с этим справиться?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


GraphQL управляется требованиями (запросом).
Если вам нужен account, просто запросите его. Если вам нужен account и связанный с ним hardware, просто запросите оба - дополнительный преобразователь будет вызван автоматически. Это основная идея, лежащая в основе graphQL. Поищите любой учебник, посвященный отношениям в graphQL.