Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ember 2,使用Ember.run.debounce调用路由中的函数_Javascript_Ember.js_Ember Data_Ember Cli_Debounce - Fatal编程技术网

Javascript Ember 2,使用Ember.run.debounce调用路由中的函数

Javascript Ember 2,使用Ember.run.debounce调用路由中的函数,javascript,ember.js,ember-data,ember-cli,debounce,Javascript,Ember.js,Ember Data,Ember Cli,Debounce,我在一条叫做“游戏”的路线上 在一个动作中,我为一个函数调用Ember.run.debounce,但在该函数中,我不能调用其他函数 app/routes/game.js: import Ember from 'ember'; export default Ember.Route.extend({ model() { ... }, saveGame: function () { this.save().then(() => { this.updat

我在一条叫做“游戏”的路线上

在一个动作中,我为一个函数调用Ember.run.debounce,但在该函数中,我不能调用其他函数

app/routes/game.js

import Ember from 'ember';
export default Ember.Route.extend({

  model() {
    ...
  },

  saveGame: function () {
    this.save().then(() => {
      this.updateOtherGames(); //<------ ERROR ERROR ERROR ERROR
    })
  },

  updateOtherGames(game) {

  },

  actions: {
    playGame(game) {
      ...
      Ember.run.debounce(game, this.saveGame, 5000);
    }
  }
})
从“余烬”导入余烬;
导出默认的Ember.Route.extend({
模型(){
...
},
saveGame:function(){
这个。save()。然后(()=>{

this.updateOtherGames();//对
debounce
的正确用法是:

Ember.run.debounce(this, this.saveGame, game, 5000);
这是


更正后,调用
updateOtherGames
就可以了。

你同意我的观点吗,关于这一点的文档有点混乱?我很快会尝试你的方法。
target
的定义是要调用的方法的目标。在示例代码中,
target
显示为
context
。是的,有点混乱。实际上,e> target
表示谁将成为该函数上下文中的
这个
。ember论坛上的一个家伙回答说:什么是正确的?你的还是这个?事实上,答案是一样的。该答案使用fat arrow函数调用并传递参数。我的答案使用debounce 3th参数…两者都可以。对于fat arrow,请看一看。这个答案可能有助于你理解站好一点。