关于nodejs怎么轮询请求异步状态变为true,false判断条件

// 轮询查找订单支付
async function pollFindOrder(params){
    
    // 这是一条查找订单的sql语句,异步的
    let order =await findOrder(params);
    if(order) return true;

    return new Promise((resolve, reject) => {

        // 1秒请求一次,最多轮询请求10次
        let len = 1;
        let timmer = setInterval(()=>{
            len ++ ;
            // 这是一条查找订单的sql语句,异步的
            // ?????这里报错了
            order =await findOrder(params);
            if(order){
                clearInterval(timmer);
                return resolve(true);
            }
            if(len == 10){
                clearInterval(timmer);
                return resolve(false);
            }
        },1000);
    })
}



// 调用
let poll = await pollFindOrder({uerId:1});
if(poll){
    console.log("用户已支付订单")
}else{
    console.log("当前用户未获取支付订单。请刷新")
}

image.png
报错提示红框内的await只能在async内。
请问该怎样修改使下面调用成立

阅读 2.8k
1 个回答

第一个括号里后面加上 async
图片.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题