diff --git a/src/serialize/function.js b/src/serialize/function.js index a0637d69..b5a3093b 100644 --- a/src/serialize/function.js +++ b/src/serialize/function.js @@ -128,8 +128,12 @@ export function deserializeFunction(source : CrossDomainWindowType | ProxyWin if (meth && meth.val !== crossDomainFunctionWrapper) { return meth.val.apply({ source: window, origin: getDomain() }, arguments); } else { - return global.send(win, MESSAGE_NAME.METHOD, { id, name, args: Array.prototype.slice.call(arguments) }, { domain: origin, ...opts }) - .then(({ data }) => data.result); + return global.send(win, MESSAGE_NAME.METHOD, { id, name, args: Array.prototype.slice.call(arguments) }, { domain: origin, fireAndForget: opts.fireAndForget }) + .then(res => { + if (!opts.fireAndForget) { + return res.data.result; + } + }); } }).catch(err => {