Node.js 节点异步方法理解
我有一个方法,我想在运行任何代码之前完成它,但当涉及到这个问题时,我无法理解外部链接 在一种方法中,我有以下代码Node.js 节点异步方法理解,node.js,asynchronous,Node.js,Asynchronous,我有一个方法,我想在运行任何代码之前完成它,但当涉及到这个问题时,我无法理解外部链接 在一种方法中,我有以下代码 var x = someMethod("1","2","3"); // Finish before anything below can be ran 方法本身很简单 function someMethod(x,y,z){ if(1){ return "sdfh" } else if(2){ return "asdf" } e
var x = someMethod("1","2","3"); // Finish before anything below can be ran
方法本身很简单
function someMethod(x,y,z){
if(1){
return "sdfh"
} else if(2){
return "asdf"
} else {
return "ljkk"
}
}
在继续下面的代码之前,如何检索x。我见过嵌套函数的示例,wait、async但am lostTry:
const someMethod = (x, y, z) => {
...
};
const otherMethod = async () => {
let x = 'before value';
console.log(`before someMethod x: ${x}`);
// Finish before anything below can be ran
x = await someMethod("1", "2", "3");
console.log(`after someMethod x: ${x}`);
};
基本上,您使用函数声明中的async关键字将具有wait调用的函数定义为异步函数,并且可以通过在wait前面加上前缀来表示希望等待的代码部分。这有细微差别,但希望这能有所帮助。Java脚本是单线程和同步的。我建议查看JavaScript承诺。然而,我假设您的代码是同步执行的,直到它遇到类似于异步AJAX的东西为止。 请查看以下答案:
.在您的情况下,
someMethod
是同步的,因此您的代码是正确的。但是如果someMethod
是异步的,那么签名将是异步函数someMethod(x,y,z)
,对它的调用是var x=wait someMethod(“1”,“2”,“3”)代码>如下:@Thom SyntaxError:await仅在异步中有效function@user3277468我是否只调用otherMethod()?在代码中先定义x,然后?