Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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 JS:如何测试异步函数支持_Javascript_Node.js_Asynchronous_Async Await - Fatal编程技术网

Javascript JS:如何测试异步函数支持

Javascript JS:如何测试异步函数支持,javascript,node.js,asynchronous,async-await,Javascript,Node.js,Asynchronous,Async Await,我想知道是否有可能在JS中测试异步函数支持 try { async () => {} } catch (err) { // No support } 上述方法不起作用,因为它允许在NodeV6中转义语法错误 /secret/test.js:8 async () => {} ^ SyntaxError: Unexpected token ( 那么,您认为测试异步支持的最佳方法(如果有的话)是什么?使用evil eval var asyn

我想知道是否有可能在JS中测试异步函数支持

try {
    async () => {}
}
catch (err) {
    // No support
}
上述方法不起作用,因为它允许在NodeV6中转义语法错误

/secret/test.js:8
    async () => {}
          ^

SyntaxError: Unexpected token (
那么,您认为测试异步支持的最佳方法(如果有的话)是什么?

使用evil eval

var asyncAwait = function() {
        try {
            eval("(function() { async _ => _; })();");
        } catch (e) {
            return false;
        }

        return true;
    }();

注意,如果引擎支持async/await但不支持箭头符号,则此操作将失败,但是,我相信不存在这样的引擎

为什么IIFE?只是
eval(((async function(){})”)
。是的,我从一个旧的“es6Features”对象中剪切/粘贴了代码,我使用了一些时间回溯-对所有es6+产品进行了测试,或者可能更好地使用
函数
构造函数进行这样的功能测试,正如我所说的,这是我不久前写的东西,从未看到“生产”之光-将此代码视为指南,而不是最终答案(有效)