在下面的代码块中,谁能提供链接或解释一下浓缩的警报语句语法。
我理解前面扩展的等效代码,它被注释掉了,并包含消息参数。但是,我找不到省略消息参数的语法参考。
let timeoutPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Success!');
}, 2000);
});
/* timeoutPromise.then(message => {
alert(message);
})
*/
timeoutPromise.then(alert);
当你调用 .then()
它希望你给它传递一个函数引用,当这个函数被调用时,它将传递一个参数,就是承诺的解析值。
一种方法是这样的。
somePromise.then(result => {
console.log(result);
});
这里你要传递给它的函数 .then()
是一个内联的、匿名的、箭头函数。
但是,你也可以创建一个常规的命名函数。
function showMyValue(result) {
console.log(result);
}
And, then pass it:
somePromise.then(showMyValue);
那是完全一样的签名 你传递的是一个函数引用,当该函数被调用时,该函数期望一个参数。
好吧,我知道了。alert()
也是一个函数,当调用时,期待一个参数,所以你也可以做。
somePromise.then(alert);
什么是 message => { alert(message); }
? 它是一个接受一个参数的函数,当调用时,会弹出一个警告对话框。
现在,什么是 alert
? 它是一个接受一个参数的函数,当调用时,会弹出一个警报对话框。
A foo => bar(foo)
包装器几乎都是多余的,相当于只用了 bar
.