簡體   English   中英

JS | 如何使用 async await 迭代地運行函數

[英]JS | How to run functions iteratively with async await

我有一個 function

async function go(text)
{
    var response = await say(text);
    document.write(response + '<br>')
}

還有一個 promise

function say(text)
{
    return new Promise((resolve, reject) => {
        if (enterPressed) resolve(text);
    });
}

每次用戶按下回車鍵時,我都想運行 go function 。 例如,腳本是:

go ("hello");
go ("goodbye")

我不希望這些功能立即運行,我要先打招呼,然后等待進入,然后再見。 有什么方法嗎?

怎么樣:

async function foo() {
    while (true) {
        await go("hello");
        await go("goodbye");
    }
}
foo();

做到了。 感謝桑迪·伯科維茨。

async function go(text)
    {
        var response = await say(text);
        document.write(response + '<br>')
    }

    function say(text)
    {
        return new Promise((resolve, reject) => {
            document.addEventListener('keydown', (e) => 
            {
                if (e.keyCode == 13)
                {
                    resolve(text);
                }
            })
        });
    }

    async function foo()
    {
        await go('go');
        await go('Hello');
        await go('How are you?')
    }

    foo();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM