streetlight streetlight - 28 days ago 14
Javascript Question

'Parser returned unfilled promise' error in Dojo

I'm getting the following error when using

dojo/parser
in my code.

parser returned unfilled promise (probably waiting for module auto-load), unsupported by _WidgetsInTemplateMixin.


I've

define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"myApp/base/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin",
"dojo/text!../templates/MyTemplate.html",
"dojo/i18n!../nls/Localized",
"myApp/js/utils/hint",
"dijit/form/ValidationTextBox",
"dijit/form/SimpleTextarea",
"dijit/form/Button",
"dojo/parser",
"dojo/domReady!"
], function (
declare,
_WidgetBase,
_TemplatedMixin,
_WidgetsInTemplateMixin,
template,
l10n,
hint
) {

'use strict';

/**
* @module
*/

return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {

widgetsInTemplate: true,

/**
* @description Localized object for view
* @type {object}
*/
l10n: l10n,

/**
* @description Custom template for view
* @override
*/
templateString: template,


//postCreate: function () {
//hint(l10n.hint);
//}
});

});


I've done some research and realized it may have to do with dependencies and order. I've added the
widgetsIntemplate
attribute but still no dice. This only happens on first load of the page.

Can anyone help?

Answer

If you have widgets in your template, you have to make sure they are all preloaded. Make sure your define has all the widgets in your template.