gpt4 book ai didi

javascript - 如何在 promise 链中传递变量?

转载 作者:行者123 更新时间:2023-11-30 09:47:54 27 4
gpt4 key购买 nike

我有这个 promise 链。在第二个 promise 中,我需要用户,它由 user.save 返回。我怎样才能在不破坏 promise 链的情况下得到它?我需要它是一个链,因为我需要最后一个 promise 将正确的属性返回给调用函数时的 promise 。

我调用这样的方法:

User.createRider(req.query).then((user) => {
res.json(user);
});



User = sequelize.define('user', {},{
classMethods: {
createRider: function(params) {
var values = [],
userAttributes = sequelize.models.userAttributes,
user = User.build(),
name = userAttributes.build({name: 'name', value: params.name}),
fbprofile = userAttributes.build({name: 'fbprofile', value: params.fbprofile}),
phone = userAttributes.build({name: 'phone', value: params.phone});

user = user.save()
.then(sequelize.Promise.all([
fbprofile.save(),
name.save(),
phone.save()
])
)
.then((attributes) => {
user.addUserAttributes(attributes);
return user;
});
return user;
}
}
});

最佳答案

如果我理解正确你需要什么,你可以尝试像下面这样的代码:

user = user.save()
.then(savedUser => {
return sequelize.Promise.all([
fbprofile.save(),
name.save(),
phone.save()
])
.then((attributes) => {
console.log(savedUser); // this guy

user.addUserAttributes(attributes);
return user;
});
});

关于javascript - 如何在 promise 链中传递变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38037533/

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