首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用async await nodejs函数

如何使用async await nodejs函数
EN

Stack Overflow用户
提问于 2021-04-02 23:38:15
回答 2查看 29关注 0票数 0

我正在尝试使用当客户向购物车添加东西时生成的唯一会话id来创建我的客户购物车。问题是,它是在创建表(购物车)之前插入购物车中的。我觉得这是一个异步等待的事情,有人能帮忙吗?

代码语言:javascript
运行
复制
    app.post('/addtocart', (req, res) => {

    createCartTable (req, res)

    var user = "insert into " + req.session.sessionID + " (NAME, PRICE, QUANTITY, IMAGE_URL, PRODUCTID) VALUES ('" + req.body.name + "', '" + req.body.price + "', '" + req.body.quantity + "', '" + req.body.image_url + "', '" + req.body.productid + "')";
    ibmdb.open(db2ConnString, function(err, conn) {
        if (err) return console.log(err);
        conn.query(user, function(err, rows) {
            if (err) {
                console.log(err);
            }

            selectcart(req, res)
            // res.render("catalogue", {
            //     page_title: "catalogue",
            //     data: rows,
            // })

            conn.close(function() {
            });
        });
    });
}) 

直到完成插入查询之后,才会调用createCartTable (req, res)函数。我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

发布于 2021-04-02 23:50:43

我能够将插入查询创建到它自己的函数中,然后从create table函数中调用它……解决异步问题的方法,可能不是正确的方法,但它是有效的。

票数 0
EN

Stack Overflow用户

发布于 2021-04-03 00:43:33

createCartTable是异步函数吗?也就是说,当它在别处定义的时候,它是不是定义为async createCartTable(){...}

以下假设是:是,这是一个异步等待问题。因为createCartTable()是异步的,所以在createCartTable()完成解析/拒绝它的承诺时,允许执行它后面的所有其他内容。您需要做的就是将createCartTable()更改为await createCartTable()。await关键字告诉程序停止代码执行,直到该函数实现了它的承诺。

如果你想了解async/await & promises的额外内容,你可以查看下面的一些链接,或者直接问。有时候mozilla文档有点粗糙。

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

编辑:我看到了你自己的评论--这实际上就是你在异步/等待之前做事情的方式!如果你想保持它,它工作得很好,异步/等待本质上只是承诺的语法糖&异步的东西,使事情更容易阅读和理解。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66921740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档