JSFiddle - React, Tailwind, and code Playground

HTML

<table id="items">
    
</table>

JavaScript

var ITEMS_URL = "https://api.guildwars2.com/v2/items";

var search_query = "Mighty";

search(search_query, function(item) {
    $("#items").append("<tr><td><img src='" + item.icon + 
                       "' /></td><td>" + item.name + "</td></tr>");
});

function search(name, callback) {
    $.getJSON(ITEMS_URL, function(item_ids) {
        forEachAsync(item_ids, function(id) {
            $.getJSON(ITEMS_URL + "/" + id, function(item) {
                if(item.name.indexOf(name) > -1) {
                    callback(item);   
                }
            });
        });
    });
}

function forEachAsync(items, process) {
    var todo = items.concat();

    setTimeout(function() {
        process(todo.shift());
        if(todo.length > 0) {
            setTimeout(arguments.callee, 25);
        }
    }, 25);
}