Gam*_*erz 0 javascript syntax chaining promise arrow-functions
在下面的代码块中,有人可以提供链接或对精简警报语句语法的解释。
我了解前面已注释掉并包含消息参数的扩展等效代码。但是,我找不到对省略 message 参数的语法的引用:
let timeoutPromise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Success!');
}, 2000);
});
/* timeoutPromise.then(message => {
alert(message);
})
*/
timeoutPromise.then(alert);
Run Code Online (Sandbox Code Playgroud)
当您调用 时.then(),它希望您向它传递一个函数引用,而当该函数被调用时,它将传递一个参数,即承诺的已解析值。
一种方法是这样的:
somePromise.then(result => {
console.log(result);
});
Run Code Online (Sandbox Code Playgroud)
这里你传递给的函数.then()是一个内联的、匿名的、箭头函数。
但是,您也可以创建一个常规的命名函数:
function showMyValue(result) {
console.log(result);
}
Run Code Online (Sandbox Code Playgroud)
然后通过它:
somePromise.then(showMyValue);
Run Code Online (Sandbox Code Playgroud)
这是完全相同的签名。您正在传递一个函数引用,并且在调用该函数时,该函数需要一个参数。
嗯,alert()也是一个函数,当被调用时,需要一个参数,所以你也可以这样做:
somePromise.then(alert);
Run Code Online (Sandbox Code Playgroud)