暂停功能,直到承诺解决

时间:2021-06-01 12:06:09

标签: javascript

我的函数无限期地继续执行,尽管我原以为它会在 10 毫秒后恢复。在等待结果时,有什么方法可以刷新超时?或者至少告诉 JS 在我返回结果之前执行/解决其他承诺?

问题很简单,我需要响应才能继续执行。而且我不能将我的代码放在任何异步块中。我也不能使用“then”,因为我需要返回原始结果。我认为这个 hack 会奏效,但不行。

就我对 JS 的理解而言,这根本不可能,但我很想知道。

let test = function () {
    let wait = true;

    setTimeout(() => {
        wait = false
    }, 10);

    while (wait);

    return wait;
}

1 个答案:

答案 0 :(得分:0)

你可以使用 async/await 来阻塞函数的流程

示例

const mine = async() => {
console.log("start")
await anotherAsyncFunction()
console.log("done")
}