我正在努力提高monico编辑器完成项目提供程序的性能(它目前正在进行ajax调用以获取相应的项目......自定义语言非常庞大且复杂)。
我想知道是否/如何返回一个Thenable CompletionList可能对此有所帮助。 https://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.completionitemprovider.html
我们最初开始使用同步ajax调用,因此我们肯定会有结果显示,但这会导致输入流量过多阻塞/中断。现在ajax调用是异步的,但是返回的速度不够快,我们收到了“No advice”消息。
答案 0 :(得分:1)
我明白了。万一其他人想知道如何做同样的事情。来自provideCompletionItems函数......
return new Promise(function(resolve, reject) {
$.ajax({
url: 'someaddress.com',
dataType: 'json',
success: function(res) {
// create your keywords json here
resolve({items: keywords, isIncomplete: true});
},
error: function(xhr, error){
reject({items: [], isIncomplete: true})
},
});
});
当ajax调用发生时,摩纳哥编辑器将显示一组很好的动画点作为加载指示符。