gpt4 book ai didi

javascript - 如何在 promise 数组中引用对象值?

转载 作者:行者123 更新时间:2023-11-30 15:37:46 25 4
gpt4 key购买 nike

下面的对象包含查找键,其中包含 promise 数组,用于针对值<运行一系列验证.

如何从 email 访问 full_name 的值?

const config = {
full_name: [
val => new Promise((resolve, reject) => resolve(val)),
val => new Promise((resolve, reject) => resolve(val))
],
email: [
val => new Promise((resolve, reject) => resolve(val)),
val => new Promise((resolve, reject) => reject(`${config.full_name.val}`)) // get the value which has been passed to full_name
]
}

最佳答案

config.full_name.val 不存在,因为 config.full_name 是一个包含返回 promise 的函数的数组。

此处的用例取决于调用这些函数的上下文。此上下文在此处解释:https://jsfiddle.net/karlbateman/keqnrybq/ .

还考虑到验证部分位于与实际配置不同的模块中,因此不能简单地访问回调中的 formData。

但是,您可以将上下文参数添加到提供要访问的 formData 的函数回调中,如下所示:https://jsfiddle.net/odolha/tpn75570/

查看这一行(在 validatorFn 中):

arr.push(config[field].map(cb => cb(formData[field], formData)))

这基本上提供了 formData 作为上下文参数,可以在以后使用:

(val, ctx) => new Promise((resolve, reject) => setTimeout(() => {
reject(`${ctx.name} already is exists.`) // simulate a HTTP request
}, 2000))

关于javascript - 如何在 promise 数组中引用对象值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41258349/

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