Revert "Replace all trivial Promise.defer usages with regular Promises"

This reverts commit 44401d73
This commit is contained in:
Michael Telatynski 2019-11-12 11:56:53 +00:00
parent 7a512f7299
commit 548e38cba9
5 changed files with 138 additions and 122 deletions

View file

@ -26,7 +26,6 @@ import { Room } from 'matrix-js-sdk';
import SettingsStore from "../../../settings/SettingsStore";
import Autocompleter from '../../../autocomplete/Autocompleter';
import {sleep} from "../../../utils/promise";
const COMPOSER_SELECTED = 0;
@ -106,11 +105,13 @@ export default class Autocomplete extends React.Component {
autocompleteDelay = 0;
}
return new Promise((resolve) => {
this.debounceCompletionsRequest = setTimeout(() => {
resolve(this.processQuery(query, selection));
}, autocompleteDelay);
});
const deferred = Promise.defer();
this.debounceCompletionsRequest = setTimeout(() => {
this.processQuery(query, selection).then(() => {
deferred.resolve();
});
}, autocompleteDelay);
return deferred.promise;
}
processQuery(query, selection) {
@ -196,16 +197,16 @@ export default class Autocomplete extends React.Component {
}
forceComplete() {
return new Promise((resolve) => {
this.setState({
forceComplete: true,
hide: false,
}, () => {
this.complete(this.props.query, this.props.selection).then(() => {
resolve(this.countCompletions());
});
const done = Promise.defer();
this.setState({
forceComplete: true,
hide: false,
}, () => {
this.complete(this.props.query, this.props.selection).then(() => {
done.resolve(this.countCompletions());
});
});
return done.promise;
}
onCompletionClicked(selectionOffset: number): boolean {

View file

@ -178,12 +178,17 @@ module.exports = createReactClass({
},
_optionallySetEmail: function() {
const deferred = Promise.defer();
// Ask for an email otherwise the user has no way to reset their password
const SetEmailDialog = sdk.getComponent("dialogs.SetEmailDialog");
const modal = Modal.createTrackedDialog('Do you want to set an email address?', '', SetEmailDialog, {
Modal.createTrackedDialog('Do you want to set an email address?', '', SetEmailDialog, {
title: _t('Do you want to set an email address?'),
onFinished: (confirmed) => {
// ignore confirmed, setting an email is optional
deferred.resolve(confirmed);
},
});
return modal.finished.then(([confirmed]) => confirmed);
return deferred.promise;
},
_onExportE2eKeysClicked: function() {