gpt4 book ai didi

javascript - .spread 带有数据重定向

转载 作者:行者123 更新时间:2023-11-27 23:44:26 26 4
gpt4 key购买 nike

开发数据库时,方法spread将数组值转换为命名参数是必不可少的。

但是当解析的数据无法直接映射时如何做同样的事情呢?

以下是嵌套事务的简单示例:

db.tx(function () {
return promise.all([
this.none("update users set active=$1 where id=$2", [true, 123]),
this.none("insert into audit(status, id) values($1, $2)", ['active', 123]),
this.tx(function () {
return promise.all([
this.one("insert into users(name) values($1) returning id", "John"),
this.one("insert into events(code) values($1) returning id", 123)
]);
})
]);
})
.then(function (data) {
console.log(data[2][0].id); // print new user id;
console.log(data[2][1].id); // print new event id;
});

我真的很希望能够替换最后一个 then带有 spread 的部分,但问题是我们不能直接使用数据,我们需要使用data[2]在我们的示例中。

获得以下效果的推荐方法是什么:

.spread(data[2], function (user, event) {
console.log(user.id); // print new user id;
console.log(event.id); // print new event id;
});

最佳答案

您可以使用

.get(2).spread(function(user, event) { ... })

关于javascript - .spread 带有数据重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33360184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com