小编dee*_*ame的帖子

Ember.run.debounce不会去抖动

我在Ember的子组件中使用Twitter Typeahead.js,我提供了一个dataSource函数(见下文).此dataSource函数查询远程服务器.这个查询我想在Ember中去掉它似乎不起作用.

这与runloop有关吗?我应该包装什么?

import Ember from 'ember';

export default Ember.Component.extend({

    dataResponse: [],
    dataSource: function () {
        var component = this;

        // function given to typeahead.js
        return function (query, cb) {

            var requestFunc = function () {
                var encQuery = encodeURIComponent(query);
                Ember.$.getJSON('/api/autocompletion?prefix=' + encQuery).then(function (result) {
                    // save results
                    component.set('dataResponse', result.autocompletion);
                    // map results
                    var mappedResult = Ember.$.map(result.autocompletion, function (item) {
                        return { value: item };
                    });
                    cb(mappedResult);
                });
            };

            // this is not debounced, why? :|
            Ember.run.debounce(this, requestFunc, 500); // …
Run Code Online (Sandbox Code Playgroud)

ember.js typeahead.js

6
推荐指数
1
解决办法
940
查看次数

标签 统计

ember.js ×1

typeahead.js ×1