Javascript 按顺序执行操作
我知道这99%是一个非常愚蠢的问题,但我刚刚开始学习javascript和node.js 这是代码,稍后我将解释该问题:Javascript 按顺序执行操作,javascript,node.js,Javascript,Node.js,我知道这99%是一个非常愚蠢的问题,但我刚刚开始学习javascript和node.js 这是代码,稍后我将解释该问题: 函数f(args){ request.post({stuff}), 函数optionalCallback(错误、响应、正文){ 如果(错误){ console.log('上载失败:',错误); } console.log(JSON.parse(body));/#2 返回JSON.parse(body); }); } //稍后在代码中的switch语句中 案例“测试”: co
函数f(args){
request.post({stuff}),
函数optionalCallback(错误、响应、正文){
如果(错误){
console.log('上载失败:',错误);
}
console.log(JSON.parse(body));/#2
返回JSON.parse(body);
});
}
//稍后在代码中的switch语句中
案例“测试”:
console.log(f(args));//#1.
中断代码>
//稍后在代码中的switch语句中
这是你的第一个错误;)
switch语句中的代码不会在函数“之后”执行。它是调用函数f(args)
的代码
其次,函数f(args)
在调用时不返回值:因此调用方将接收未定义的
函数f
中存在return
语句这一事实并不意味着函数本身返回一个值,只是函数(函数f
)将从嵌入的optionalCallback
函数中接收一个值
//稍后在代码中的switch语句中
这是你的第一个错误;)
switch语句中的代码不会在函数“之后”执行。它是调用函数f(args)
的代码
其次,函数f(args)
在调用时不返回值:因此调用方将接收未定义的
函数f
中有一个return
语句这一事实并不意味着函数本身返回一个值,只是函数(函数f
)将从嵌入的optionalCallback
函数中接收一个值。节点“异步”工作,而不是“同步”像C++、Python这样的语言。当您在console.log中输入f(args)
时,一个单独的事件循环将开始使用您的函数
将其视为“理解”的单独线程
你想要什么
---{function call here}-----------------{response here} -> console.log now
^
\ \
\ \
inside the function ---{post}---> \
\ \
\ \
-----{response here}---->
\
\
-------> console.log #2 successfull
节点与“C++”、Python等“同步”语言不同,工作“异步”。当您在console.log中输入
f(args)
时,一个单独的事件循环将开始使用您的函数
将其视为“理解”的单独线程
你想要什么
---{function call here}-----------------{response here} -> console.log now
^
\ \
\ \
inside the function ---{post}---> \
\ \
\ \
-----{response here}---->
\
\
-------> console.log #2 successfull
你的问题是什么?首先,为什么会发生。然后,如何使它在这两种情况下打印对象。我将更新问题这可能会被标记为重复^^有很多好的信息可以帮助您理解JSF的异步性质您的问题是什么?首先,为什么会发生。然后,如何使它在这两种情况下打印对象。我将更新问题这可能会被标记为重复^^有很多好的信息可以帮助您理解JS的异步性质