У меня есть различные запросы, запущенные внутри объекта на основе классов, которые предназначены для возврата обещания для этого конкретного объекта для обработки.
Чтобы разрешить несколько запросов одновременно (возможно, из одного класса или расширения), для этого объекта должно быть установлено «this». Такая же ситуация может возникнуть, если пользователь испытывает нетерпение и запускает другой запрос до того, как возвращается первый.
Все примеры обещаний предполагают глобальный обработчик - поэтому для обработчика нет контекста.
Теперь мы могли бы сериализовать все и иметь «текущий объект для невыполненного обещания», но, похоже, должен быть лучший способ узнать, какой конкретный экземпляр обещания c вызывает функцию или имеет функцию для обещания.
Итак, что будет лучшим способом, чтобы каждый новый объект обрабатывал обещания, которые он создает?
Вот идея в коде ...
class QueryAndDisplay() {
constructor (parameter){
this.parameter=parameter;
this.queryText = 'select * where {... ${this.parameter}...}';
}
displayQuery() {...process query result...}
doQueryAndDisplay() {
promise = this.query(queryText); // Query is based on object values
promise.then( this.displayQuery );
promise.catch( this.displayError);
}
...