JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dijit/themes/claro/claro.css">
<div id='sourceAddress'></div>

JavaScript

dojo.require('dojox.data.QueryReadStore');
dojo.require('dijit.form.FilteringSelect');

dojo.addOnLoad(function(){
    var delay = 2000;
    var value1 = 95;
    var value2 = 200;
    
    var customerAddressesPairsView = dojox.data.QueryReadStore({
        url : 'http://fiddle.jshell.net/gh/gist/response.json/2165866/'
    });
    
    var w = new dijit.form.FilteringSelect({
        name: 'source_address_id'
        , required: true
        , store: customerAddressesPairsView
        , searchAttr: "name"
        , style: "width: 40ex;"
    }, 'sourceAddress');

    w.deferred = new dojo.Deferred();
    // deferredSetValues.push(w.deferred);
    w.initWatch = w.watch('value', function(property, oldValue, newValue) {
        w.initWatch.unwatch();
        console.debug('Watch fired.', w.name, 'property:', property, 'oldValue:', oldValue,'newValue:', newValue,'w.get(\'value\'):', w.get('value'));
        w.deferred.resolve();
        setTimeout(function() {console.debug('Delayed get returns:', w.get('value'))}, delay)
    })
    w.set('value', value1)
    console.debug('Value set to ' + value1)          
    console.debug('Immediate get returns:', w.get('value'));
    console.debug('Direct access returns: ' + w.value)
    setTimeout(function() {console.debug('Delayed set to ' + value2); w.set('value', value2)}, delay)    
        
})