forEach循环中的订阅调用执行为时已晚

为什么控制台日志在最后显示所有“ if”输出?


3 elem :

else

elem :

else

elem :

else

elem :

else

2 elem :

4 if

我期望输出:


elem

if 

elem 

else ...

我认为它会在每个“元素”之后立即显示“ if”或“ else”!


这是代码:


res.docs.forEach((elem) => {

    console.log('elem');

    if (elem.productType) {

        this.Service.function(elem.productType._id).subscribe((result) => {

            console.log('if');

            const text = result.name;

            this.marketPlaceList.push(text);

        });

    } else {

        console.log('else');

        this.marketPlaceList.push('');

    }

});


宝慕林4294392
浏览 135回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript