Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何异步使用u.some_Javascript_Node.js_Asynchronous - Fatal编程技术网

Javascript 如何异步使用u.some

Javascript 如何异步使用u.some,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,有没有异步使用的方法?下面是我试图切换到异步方法的代码片段,以防止它引起超时问题 DLClear = function( obj, squarePt ) { var wallPaths = findObjs( { _type : 'path', _pageid: obj.get('pageid'), layer : 'walls' } ); var landingPt = [ obj.get('left'

有没有异步使用的方法?下面是我试图切换到异步方法的代码片段,以防止它引起超时问题

DLClear = function( obj, squarePt ) {

    var wallPaths = findObjs( {
         _type  : 'path',
         _pageid: obj.get('pageid'),
        layer   : 'walls'
    } );

    var landingPt    = [ obj.get('left'), obj.get('top'), 1 ];
    var wallSegments = PathMath.toSegments( wallPaths );
    var squareSeg    = [ landingPt, squarePt ];

    var blocked = _.some( wallSegments, function( wallSeg ) {
        return PathMath.segmentIntersection( squareSeg, wallSeg );
    } );
    return !blocked;
},
我为之编写的平台使用javascript ES7,因此async/await是可用的

感谢所有的帮助


Scott

您可以使用为Node.js和本例设计的库。每个函数都会对您有所帮助。

异步代码在这里对您没有帮助,因为您的DLClear函数和u。有些函数不是IO绑定的,而是繁忙的函数。如果您的代码在您的环境中执行时间过长,则表明您使用的算法效率低下。分段相交函数的作用是什么?wallSegments阵列有多大?这是用于虚拟桌面VTT游戏平台的脚本。segmentIntersection确定传递给它的线段是否在任何点相交。wallSegments数组的大小不是固定的。这取决于用户在VTT上创建了多少墙段,因此可以是一个入口,也可以是几百或几千个,这可能是夸张的说法。我知道u。有些不是我最终会使用的,但有没有办法我可以将其切换为使用类似u的东西?延迟等待调用堆栈完成后再运行?不幸的是,该库在平台上不可用,我无法安装其他库。@ScottCasey什么平台?如果您有特定的要求,最好提供特定的信息,例如,如果问题是您不想阻止用户界面,平台可能会提供某种形式的服务工作者或衍生。@DaveNewton平台上的是Roll20API@ScottCasey这不是在浏览器中运行吗?@DaveNewton是的,它都是基于浏览器的。您可以运行自定义脚本来添加功能。