下面的对象包含查找键,其中包含数组 承诺,用于针对value
运行一系列验证
如何从full_name
访问email
的价值?
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
]
}
答案 0 :(得分:2)
didFinishLaunchingWithOptions
不存在,因为$("#audio-player")[0].addEventListener('canplaythrough', mobileReady, false);
function mobileReady(){
$("#audio-player")[0].play()
}
是一个包含返回promise的函数的数组。
此处的用例取决于如何调用这些函数的上下文。这个上下文在这里解释:https://jsfiddle.net/karlbateman/keqnrybq/。
另外考虑验证部分与实际配置不同的模块,不能简单地访问回调中的formData。
但是,您可以在函数回调中添加一个上下文参数,它提供了要访问的formData,如下所示:https://jsfiddle.net/odolha/tpn75570/
见这一行(在validatorFn中):
config.full_name.val
这基本上将formData作为上下文参数提供,可以在以后使用:
config.full_name
答案 1 :(得分:0)
您也可以实现类似的功能,如下所示;
function promisifier(val, pass = true){
return new Promise(function(v,x){
return pass ? v(val) : x(val);
});
}
var config = { full_name: [promisifier, promisifier],
email: [promisifier, promisifier]
};
config.full_name[0]("Thaddeus Jones")
.then(r => config.email[1](r,false))
.then(r => console.log("resolved by:", r))
.catch(e => console.log("received error:", e));