Skip to content

Instantly share code, notes, and snippets.

@Redsandro
Forked from NullVoxPopuli/controllers.application.js
Last active October 1, 2018 22:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Redsandro/2905579ee77c6defeebe2096142b8b01 to your computer and use it in GitHub Desktop.
Save Redsandro/2905579ee77c6defeebe2096142b8b01 to your computer and use it in GitHub Desktop.
Demonstrating timer
import Ember from 'ember';
import { Promise } from 'rsvp'
export default Ember.Controller.extend({
appName: 'Template Numbers',
someBool: true,
init() {
this._super(...arguments)
this.send('fakeCallback')
this.send('slowCallback')
},
actions: {
fakeCallback() {
new Promise(resolve => setTimeout(resolve, 1000)).then(() => {
let number = this.get('myNumber')
number = number ? number + 1 : 1
setTimeout((no) => this.send('fakeCallback2', no), 100)
this.send('fakeCallback')
})
},
fakeCallback2(no) {
const rand = Math.floor(Math.random() * 1000)
this.set('myNumber', rand)
},
slowCallback() {
new Promise(resolve => setTimeout(resolve, 3000)).then(() => {
this.set('model', [{a:1}, {a:2}, {a:3}])
})
}
}
})
<h1>Welcome to {{appName}}</h1>
<br>
<br>
{{#if model}}
myNumber: {{myNumber}}
{{/if}}
<br>
<br>
{
"version": "1.0.0",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.1.4",
"ember-template-compiler": "3.1.4",
"ember-testing": "3.1.4"
},
"addons": {
"ember-data": "3.1.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment