Я пытаюсь заставить функцию выполняться асинхронно, как в следующем блоке кода:
asyncSearch = (e) ->
await search(e)
$("#main-search").on("input", (e) ->
clearTimeout(delayTimer)
delayTimer = setTimeout( ->
asyncSearch(e)
, 100)
)
#Method for searching
search = (input) ->
new Promise (resolve) ->
loadedAlbums = 40
toggleAlbum(sibling: undefined)
//more code
....
Однако, это не компилируется, как я ожидал.Вместо этого он компилируется в:
asyncSearch = function(e) {
return await(search(e));
};
$("#main-search").on("input", function(e) {
clearTimeout(delayTimer);
return delayTimer = setTimeout(function() {
return asyncSearch(e);
}, 100);
});
search = function(input) {
return new Promise(function(resolve) {
var album, doSearch, inputValues, k, l, len, m, rawInput, ref, tempAlbums;
loadedAlbums = 40;
//more code
...
Ошибка, которую я тогда получаю, по понятным причинам - это ReferenceError, где «await» не определено.
Есть идеи?