为什么调用第二个函数.then(notPromise)仍然将参数传递给第三个函数.then(promiseC),即使notPromise()只是一个常规函数?
我认为只有promises可以与.then()一起使用,但不知何故它仍然可以正确执行(并传递参数).
promiseA()
.then(notPromise)
.then(promiseC);
function promiseA() {
return new Promise(function (resolve, reject) {
const string = "a";
resolve(string);
});
}
function notPromise(string) {
const nextString = "b"
const finalString = string + nextString;
return finalString;
}
function promiseC(string) {
return new Promise(function (resolve, reject) {
const nextString = "c";
const finalString = string + nextString;
alert(finalString);
resolve(finalString);
});
}
Run Code Online (Sandbox Code Playgroud)
使用 CASE/WHEN/THEN 时如何忽略不在 case 语句内的记录?
例如,此语句将按预期更新三个匹配记录,但会将所有与 WHEN/THEN 子句不匹配的学生记录设置为 NULL
UPDATE table SET student = (CASE WHEN student = '10' THEN '100412'
WHEN student = '17' THEN '100295'
WHEN student = '26' THEN '100981'
END)
WHERE year = '2019';
Run Code Online (Sandbox Code Playgroud)
如何跳过不在 CASE 语句内的记录并仅更改具有匹配子句的记录?