Node.js 我的代码不是';即使没有错误,也不要继续下一步

Node.js 我的代码不是';即使没有错误,也不要继续下一步,node.js,Node.js,我最近一直在尝试Node JS,出于某种原因,我的代码没有继续到下一步,即使它应该继续 这是我的密码: const request = require('request'); var jssoup = require('jssoup').default; const {Harvester} = require('captcha-manager'); const harvester = new Harvester(); async function run(){ //

我最近一直在尝试Node JS,出于某种原因,我的代码没有继续到下一步,即使它应该继续

这是我的密码:

const request = require('request');
var jssoup = require('jssoup').default;
const {Harvester} = require('captcha-manager');

const harvester = new Harvester();
async function run(){
//                                               hostname      sitekey
    global.response = await harvester.getResponse('adidas.com', '6LdC0iQUAAAAAOYmRv34KSLDe-7DmQrUSYJH8eB_');
    console.log(response);
}

async function normalCheckout(size, style){
    console.log('started');


    if (size == 14.5){
        var shoesize = style + '_740';
    }

    if (size == 15){
        var shoesize = style + '_750';
    }

    if (size == 15.5){
        var shoesize = style + '_760';
    }

    if (size == 16){
        var shoesize = style + '_770'
    }
    console.log(shoesize);
    var options = {
        url: 'https://www.adidas.com/us/optik_literally_takes_stock/' + style +'.html',
        headers: {
                'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'
            },
        form: {
            "product_id":style,
            "quantity":1,
            "product_variation_sku":shoesize,
            "productId":shoesize,
            "size":str(size),
            "displaySize":str(size),
            "captchaResponse":response
        },
    };
    console.log('step finished');
    run();
}

normalCheckout(16, 'BD7730')
注意:
form
的字典在我的实际代码中格式正确,由于某些原因,我无法在这里正确格式化


当我运行它时,
started
被记录,变量
shoesize
被记录,但是
步骤finished
没有被记录,即使它应该被记录。为什么会发生这种情况?我如何解决?此外,是否有任何方法可以压缩我所有的
if
语句?

关于您的鞋码映射-我会使用一个对象来映射它:

const shoeSizeMap = {
 4:'_730', 
 4.5: '_540', 
 //etc
}

const shoesize = style + shoeSizeMap[size]; 
这就是为什么它不能继续的原因-您确定没有收到错误吗


例如,我看不到在任何地方定义
str
方法

关于鞋码映射-我会使用一个对象来映射它:

const shoeSizeMap = {
 4:'_730', 
 4.5: '_540', 
 //etc
}

const shoesize = style + shoeSizeMap[size]; 
这就是为什么它不能继续的原因-您确定没有收到错误吗


例如,我看不到在任何地方定义
str
方法

options
变量的赋值被卡住,因为它将
response
作为一个值赋值给它的一个元素,但该变量还不存在(它只是在以后由
run()
函数定义)


这不会引发错误的原因尚不清楚。

选项的赋值被卡住,因为它将
响应
作为一个值赋值给它的一个元素,但该变量还不存在(它只是在以后由
run()
函数定义)


为什么这不会引发错误还不清楚。

Dude,有两件事:1-你应该为所有这些大小使用一个开关==5、6等。2-在这里发布时删除其中的大部分,为了了解你的代码在做什么,其中3个很好。你能解释一下你的代码吗?除了应该抛出错误的str(size)之外,如果从未使用它,为什么还要声明选项?为什么要使用在创建之前将要使用的全局变量?@iagowp在发布之前,我肯定应该在我的代码中包含这个变量(顺便说一句,很抱歉)声明选项是因为我将使用选项中定义的参数向阿迪达斯发送一个post请求,最终解决了整个响应变量问题。伙计,有两件事:1-你应该为所有这些大小使用一个开关==5、6等。2-在这里发布时删除其中的大部分,以了解你的代码在做什么,其中3个可以。你能解释一下你的代码吗?除了应该抛出错误的str(size)之外,如果从未使用它,为什么还要声明选项?为什么要使用在创建之前将要使用的全局变量?@iagowp在发布之前,我肯定应该在我的代码中包含这个变量(顺便说一句,很抱歉)声明选项是因为我将使用选项中定义的参数向阿迪达斯发送post请求,最终解决了整个响应变量问题。没有错误,但我认为这可能是原因,我现在将使用字符串(大小)进行尝试。我想我太习惯于使用str()的Python了。并没有错误,但我想这可能就是为什么,我现在将使用string(size)来尝试它。我想我太习惯于用str()编写Python了。不应引发错误的-
响应
只是未定义,值将按此方式分配。在节点v8中,我尝试将变量设置为不存在的变量时出错:
ReferenceError:x未定义不应引发错误的-
响应
只是未定义,值将被分配为例如,在节点v8中,当我尝试将变量设置为不存在的变量时,会出现一个错误:
ReferenceError:x未定义