mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
ensure applyAsyncPromise.stubPromise runs immediately when stub and server is enabled
This commit is contained in:
@@ -62,6 +62,7 @@ export const loadAsyncStubHelpers = () => {
|
||||
Connection.prototype.applyAsync = function () {
|
||||
let args = arguments;
|
||||
let name = args[0];
|
||||
let options = args[2];
|
||||
|
||||
if (currentMethodInvocation) {
|
||||
DDP._CurrentMethodInvocation._set(currentMethodInvocation);
|
||||
@@ -92,19 +93,13 @@ export const loadAsyncStubHelpers = () => {
|
||||
let finished = false;
|
||||
|
||||
Meteor._setImmediate(() => {
|
||||
let { returnStubValue, returnServerResultPromise } = options || {};
|
||||
|
||||
const applyAsyncPromise = oldApplyAsync.apply(this, args);
|
||||
stubPromiseResolver(applyAsyncPromise.stubPromise);
|
||||
serverPromiseResolver(applyAsyncPromise.serverPromise);
|
||||
applyAsyncPromise.stubPromise
|
||||
.then((result) => {
|
||||
finished = true;
|
||||
resolve(result);
|
||||
})
|
||||
.catch((err) => {
|
||||
finished = true;
|
||||
reject(err);
|
||||
});
|
||||
applyAsyncPromise.serverPromise
|
||||
if (returnStubValue && returnServerResultPromise) {
|
||||
applyAsyncPromise.stubPromise
|
||||
.then((result) => {
|
||||
finished = true;
|
||||
resolve(result);
|
||||
@@ -113,6 +108,17 @@ export const loadAsyncStubHelpers = () => {
|
||||
finished = true;
|
||||
reject(err);
|
||||
});
|
||||
return;
|
||||
}
|
||||
applyAsyncPromise
|
||||
.then((result) => {
|
||||
finished = true;
|
||||
resolve(result);
|
||||
})
|
||||
.catch((err) => {
|
||||
finished = true;
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
|
||||
Meteor._setImmediate(() => {
|
||||
|
||||
Reference in New Issue
Block a user