繁体   English   中英

此节点作用域错误的背后是什么?

[英]What is behind this node scope error?

在这里,我有一个正在工作的节点模块。 以前它只是许多嵌套函数。 我想改进代码,所以写出所有功能,然后按顺序在底部全部调用它们。 发生了一件奇怪的事情,而不是我得到TypeError: Cannot read property 'url' of undefined

var User = require( '../models/userModel' ),
    ...

exports.add = function ( req, res ) {

    function getVideoId ( req, callback ) {
        videoId = URL.parse( req.query.url ).query.slice(-11)
        callback( videoId )
    }

    ...


    getVideoId( req, function() {
        ...
            ...
                ...
                    ...
                        ...

                            return res.json( "Done." )
                        })
                    })
                })
            })
        })
    })
}

取消嵌套功能后,作用域就会更改。 由于您在另一个函数中声明了一个函数,因此将保留作用域。 因此,在嵌套函数3中,您可以使用嵌套函数1和2的所有值!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM