我有个问题
如何使用本示例的基本思想编写功能代码?
类似于基于成功或失败事件的结果,用于异步代码执行。
async function doSomeThing ( ...params ){
//Some async thing to do with params
}
function callToAsync ( doSomething() ){
//Some implementation for doSomething() success
return true;
//Some code implementation for doSomething() fail or error happens
console.log(error);
return false;
}
我正在学习有关异步javascript代码的一些知识。
感谢您的任何想法。
这是我想要的基本示例。
async function doSomeThing() {
const randomNr = await Math.random(); //<- await for demonstration purposes
if (randomNr < 0.2) {
throw `${randomNr} should be >= 0.2`;
} else {
return randomNr;
}
}
function callToAsync() {
return doSomeThing() // <- return here is important
.then(result => {
console.log(`SUCCES: ${result}`);
return true;
})
.catch(error => {
console.error(`ERROR: ${error}`);
return false;
});
}
callToAsync()
.then(bool => {
console.log(bool);
});
如代码中所示,第一次返回callToAsync
很重要。第一次返回可确保将一个promise返回给调用方,该调用方将在解析后保留布尔值。
该callToAsync
函数也可以写成:
async function callToAsync() {
try {
const result = await doSomeThing();
console.log(`SUCCES: ${result}`);
return true;
} catch (error) {
console.error(`ERROR: ${error}`);
return false;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句