Javascript 穆卡·格格利的rs。使用async/await,我每次只得到1个结果。当我删除它时(但保留他的其余代码),我得到了预期的结果。更新代码中的console.log(可以找到)给了我预期的结果,但要使用它,我需要解析承诺值,这就是它现在再次扰乱订单的原因。感谢

Javascript 穆卡·格格利的rs。使用async/await,我每次只得到1个结果。当我删除它时(但保留他的其余代码),我得到了预期的结果。更新代码中的console.log(可以找到)给了我预期的结果,但要使用它,我需要解析承诺值,这就是它现在再次扰乱订单的原因。感谢,javascript,php,jquery,scope,Javascript,Php,Jquery,Scope,穆卡·格格利的rs。使用async/await,我每次只得到1个结果。当我删除它时(但保留他的其余代码),我得到了预期的结果。更新代码中的console.log(可以找到)给了我预期的结果,但要使用它,我需要解析承诺值,这就是它现在再次扰乱订单的原因。感谢您的广泛回复。在查看您的建议(并对其进行测试)时,我感觉到一些信息(我这边的信息缺失).解释如下。>从你的代码中,似乎你正在实现一个查询Wordpress数据的功能。你是正确的,你可以找到插件repo。更具体地说,JS文件是.1/2。我删除了一


穆卡·格格利的rs。使用async/await,我每次只得到1个结果。当我删除它时(但保留他的其余代码),我得到了预期的结果。更新代码中的console.log(可以找到)给了我预期的结果,但要使用它,我需要解析承诺值,这就是它现在再次扰乱订单的原因。感谢您的广泛回复。在查看您的建议(并对其进行测试)时,我感觉到一些信息(我这边的信息缺失).解释如下。>从你的代码中,似乎你正在实现一个查询Wordpress数据的功能。你是正确的,你可以找到插件repo。更具体地说,JS文件是.1/2。我删除了一些示例代码,但可能有点太多。如果你单击第二个链接,它会将你带到“导致”问题的函数e、 您的代码通过一些编辑部分工作,但它只适用于1个实例,我认为在信息方面缺少了1个实例…我需要调用get_states并在city_selector_vars中为每个实例添加结果,因此在循环内(imo),因为它是.Reg.wp_send_json;的一部分,我将对此进行研究。2/2I刚刚再次测试了您的解决方案,但最终我得到了一个包含2倍相同数组的数组,而不是2个不同集合的数组。我得到了2倍国家NL的状态,而不是NL+BE。抱歉,我不正确…我得到了1倍NL…但不是BE。我做了一些调整,似乎得到了closer。请参阅更新的代码。console.log每次都会给我预期的结果。promise.resolve会再次扰乱订单:)嘿@mateleco,谢谢你的回复。我按原样使用了您的代码,前3个测试都用期望值填充了select,因此看起来非常有希望(没有双关语)。我也会将您的代码应用于“城市选择”。我会做更多的测试,让你知道结果。
function admin_post_edit_load_states() {
    if (true === Array.isArray(city_selector_vars)) {
        // preparing the response array
        const response_states = []
        for (i = 0; i < city_selector_vars.length; i++) {
            // try - catch to handle errors
            try {
                // await the response
                const d = get_states(city_selector_vars[i].countryCode);
                // add response to the response array
                response_states.push(d)
            } catch (err) {
                // handle error
                console.log(err)
            }
        }
        console.log(response_states);

        Promise.all(response_states).then(function(jsonResults) {
            var instance_count = 0;
            for (i = 0; i < jsonResults.length; i++) {
                var obj = JSON.parse(jsonResults[i]);
                var len = obj.length;
                var $stateValues = '';
                var select_state = $('select[name*="row-' + instance_count + '"][name*="stateCode"]');
                var stored_state = city_selector_vars[instance_count].stateCode;
                select_state.fadeIn();
                for (j = 0; j < len; j++) {
                    $selected = '';
                    var state = obj[j];
                    var current_state = state.country_code + '-' + state.state_code;
                    if (current_state === stored_state) {
                        $selected = ' selected="selected"';
                    }
                    var selected = $selected;
                    $stateValues += '<option value="' + state.country_code + '-' + state.state_code + '"' + selected + '>' + state.state_name + '</option>';
                }
                select_state.append($stateValues);
                instance_count++;
            }
        });
    }
}