首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MagicSuggest数据函数中的Promise

MagicSuggest数据函数中的Promise
EN

Stack Overflow用户
提问于 2017-02-13 18:28:03
回答 2查看 487关注 0票数 0

我试着在github上直接问这个问题,但这个项目似乎没有太大的进展。如果有人有这样的想法,那就太好了。可以在数据函数中返回promise吗?我已经尝试了以下方法,但似乎不起作用。问题是我试图在data-function中进行一个ajax调用,它需要一个result/data数组。当然,我不能在进行异步ajax调用时这样做。

代码语言:javascript
复制
var ms = $('#mycombo').magicSuggest({minChars: 2, data : function(q) {
    return someAPI.findSuggestions(q, currentLang).then(function(response) {

        if(!_.isEmpty(response.data.suggestions)) {
            _.each(response.data.suggestions, function(suggestion) {
                if (suggestion.id && suggestion.label) {
                    data.push({ id: suggestion.id, name: suggestion.label });
                }
            });
        }
    });

    return data;
}});

如果有其他方法解决这个问题,我将非常感谢您的帮助。

提前谢谢。

迈克尔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-16 00:44:18

对于那些感兴趣的人,我已经设法找到了问题的解决方案。正如发布在github (https://github.com/nicolasbize/magicsuggest/issues/281)上的,您需要在初始化期间使用keyup事件,而不是设置data属性。所以它现在看起来像这样:

代码语言:javascript
复制
var ms = $('#mycombo').magicSuggest({minChars: 2});

$(ms).on('keyup', function(e, m, v) {
    // ... get data via ajax and call "ms.setData(data)" in the response callback ...
    // ... you can use m.getRawValue() to get the current word being typed ...
    ms.setData(data);    
}

这将导致在每次按键后触发ajax调用,因此您可能希望通过添加某种延迟或其他方式来改进这一点。

票数 0
EN

Stack Overflow用户

发布于 2018-01-05 23:46:03

我也是这样做的:

代码语言:javascript
复制
const suggester: any = divElem.magicSuggest({
    ...more properties here...
    data: (query) => {
        if (query) {                    
            this.myService.mySearch(query).take(1).subscribe((list) => {
                suggester.setData(list);
            });
         }
         return [];
    },
    ...more properties here...
});

其中mySearch(查询)返回:

代码语言:javascript
复制
Observable<MyObject[]>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42201820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档