javascript在我的函数调用中使用await

时间:2016-02-04 08:09:20

标签: javascript async-await

假设我有一个像以下一样的功能:

function some(){
    console.log("wow")
    return "some"
}

var some_test = await some()
console.log(some_test)

我知道它无需等待,但我想测试等待。这里出现unexpected token错误。

为什么我无法在这里使用?

2 个答案:

答案 0 :(得分:2)

关键字asyncawaitNode.js个应用程序中可用,但客户端JavaScript尚不支持。要使用这些关键字,您的Node.js应用程序需要使用ES7标准。 Here's对核心概念的一个很好的介绍。此外,here是正式的ECMAScript github repo,用于记录它。

调用函数必须标记为async,然后可以使用async关键字等待该调用中的另一个await方法,就像C#中所做的那样。找到语法示例here

async function chainAnimationsAsync(elem, animations) {
        let ret = null;
        try {
            for(const anim of animations) {
                ret = await anim(elem);
            }
        } catch(e) { /* ignore and keep going */ }
        return ret;
    }

答案 1 :(得分:1)

最新版本的Chrome和FF已支持异步功能,并且根据caniuse,在即将发布的Edge 15中支持异步功能。await关键字只能在标有async的功能中使用。关于这个主题的几个很好的教程:

Async Function Documentation from Mozilla

Introduction to Async Functions