Skip to content

Commit 223a416

Browse files
committed
Try deferred/promise instead of async:true
1 parent ca03617 commit 223a416

File tree

1 file changed

+12
-8
lines changed
  • corehq/apps/cloudcare/static/cloudcare/js/formplayer

1 file changed

+12
-8
lines changed

corehq/apps/cloudcare/static/cloudcare/js/formplayer/app.js

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,16 @@ hqDefine("cloudcare/js/formplayer/app", function () {
2121
var FormplayerFrontend = new Marionette.Application();
2222

2323
FormplayerFrontend.on("before:start", function (app, options) {
24+
const xsrfRequest = new $.Deferred(); // create Deferred object
25+
this.xsrfPromise = xsrfRequest.promise(); // returns only the promise of the object
2426
// Make a get call if the csrf token isn't available when the page loads.
2527
if ($.cookie('XSRF-TOKEN') === undefined) {
26-
$.get({
27-
url: options.formplayer_url + '/serverup',
28-
global: false,
29-
async: false,
30-
xhrFields: { withCredentials: true },
31-
});
28+
$.get(
29+
{url: options.formplayer_url + '/serverup', global: false, xhrFields: { withCredentials: true }}
30+
).always(xsrfRequest.resolve());
31+
} else {
32+
// resolve immediately
33+
xsrfRequest.resolve();
3234
}
3335
var RegionContainer = Marionette.View.extend({
3436
el: "#menu-container",
@@ -305,8 +307,10 @@ hqDefine("cloudcare/js/formplayer/app", function () {
305307
hqRequire(["cloudcare/js/formplayer/apps/api"], function (AppsAPI) {
306308
AppsAPI.primeApps(user.restoreAs, options.apps);
307309
});
308-
309-
$.when(FormplayerUtils.getSavedDisplayOptions()).done(function (savedDisplayOptions) {
310+
$.when(
311+
FormplayerUtils.getSavedDisplayOptions(),
312+
FormplayerFrontend.xsrfPromise
313+
).done(function (savedDisplayOptions) {
310314
savedDisplayOptions = _.pick(
311315
savedDisplayOptions,
312316
Const.ALLOWED_SAVED_OPTIONS

0 commit comments

Comments
 (0)