Javascript 如何检查异步函数返回的内容
我知道这些问题,但(可能是因为我是一个绝对的JS初学者)我无法实现这些想法 使用,我可以使此示例生效:Javascript 如何检查异步函数返回的内容,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我知道这些问题,但(可能是因为我是一个绝对的JS初学者)我无法实现这些想法 使用,我可以使此示例生效: let hello = async () => { return "Hello" }; hello().then((value) => console.log(value)) 它只输出Hello。但是,我希望我的代码检查函数hello稍后返回的内容。大概是这样的: if ( /* what comes here? */) { console.log(&
let hello = async () => { return "Hello" };
hello().then((value) => console.log(value))
它只输出Hello
。但是,我希望我的代码检查函数hello
稍后返回的内容。大概是这样的:
if ( /* what comes here? */) {
console.log("Hello was said")
}
let hello = async () => { return "Hello" };
async function foobar() {
if(await hello() == 'Hello')
console.log('yay')
}
foobar()
我怎么能这样做?如何构造这个if语句来检查
hello
是否确实返回了“hello”?这取决于“以后”的含义
if语句可以包装在异步函数中,如下所示:
if ( /* what comes here? */) {
console.log("Hello was said")
}
let hello = async () => { return "Hello" };
async function foobar() {
if(await hello() == 'Hello')
console.log('yay')
}
foobar()
wait
只能在异步函数中使用
承诺继续以回报的形式给你承诺,但是wait可以在异步函数中计算承诺。hello()。然后((value)=>…)
基本上意味着如果承诺(wait)实现了,它应该调用函数(value=){}
。。。所以
hello().then((value) => {
if(value == 'Hello'){
console.log("Hello was said");
}
});
如果你真的是一个“绝对初学者”,也许从
async
和wait
开始并不是最好的主意。是的,这是一个很好的观点。试图实现一些需要它的东西。特别是:。我认为这个问题是相当具体的,我试图提出一个更广泛适用的例子,它再现了我在具体案例中遇到的相同问题,那就是我如何在上面的文章中提到的页面上结束;如果你知道一个避免这些话题的解决方法,那也是很有帮助的。还有什么不起作用?