Bis*_*dev 5 javascript node.js
console.log("before")
function g(p,callback){
callback('1')
}
g(1,(re)=>{
console.log(re);
})
console.log("after")Run Code Online (Sandbox Code Playgroud)
结果是在之后的1之前.如何使函数调用异步意味着结果应该在1之后没有setTimeout函数
用例就像
我在函数内部有一个api调用,并在此函数调用后发送响应.但因为此函数被同步调用,发送响应被延迟.所以我想在api调用之前发送响应
console.log("before callback")
apiRes.url = [url];
apimanager.callfunc(requestBody, apiRes,(err,success)=>{
console.log("success ",success)
console.log("inside callback");
});
console.log("after callback")
return response.json(someresponse)
Run Code Online (Sandbox Code Playgroud)
你可以使用Promise.resolve():
console.log("before")
function g(p, callback) {
callback('1')
}
g(1, (re) => {
Promise.resolve().then(() => {
console.log(re);
});
})
console.log("after")Run Code Online (Sandbox Code Playgroud)