Javascript 如何在node.js中创建自定义异步函数
我正试着做类似的事情Javascript 如何在node.js中创建自定义异步函数,javascript,jquery,node.js,asynchronous,Javascript,Jquery,Node.js,Asynchronous,我正试着做类似的事情 函数fun1(){ 对于(var j=0;j您可以使用 process.nextTick(callback); 不要那样做,这几乎从来都不是你想要的。 JavaScript是单线程的,因此添加回调仍然会阻止f2的调用。 如果您有一个函数需要很长时间才能在子进程中运行,或者更好,请为它创建一个单独的微服务。在JavaScript中有多种方法可以实现这一点(不是特定于节点的,但有一些模块可以让您的生活更轻松): 回调 它们在某种程度上是错误的,开发人员为手动处理它们而烦
函数fun1(){
对于(var j=0;j您可以使用
process.nextTick(callback);
不要那样做,这几乎从来都不是你想要的。
JavaScript是单线程的,因此添加回调仍然会阻止f2的调用。
如果您有一个函数需要很长时间才能在子进程中运行,或者更好,请为它创建一个单独的微服务。在JavaScript中有多种方法可以实现这一点(不是特定于节点的,但有一些模块可以让您的生活更轻松):
回调
它们在某种程度上是错误的,开发人员为手动处理它们而烦恼,这是一件很遗憾的事情(编译器过去常常自己处理它们)
函数被调用方(回调){
setTimeout(函数(){
回调(null,'finished!');
}, 2000);
}
函数调用者(){
document.write('start!');
被调用方(函数(错误、结果){
记录(结果);
});
}
caller();
我试图提供一个更好的
异步函数被调用方(){
返回新承诺((解决、拒绝)=>{
setTimeout(()=>resolve('finished!'),1000);
})
}
异步函数调用程序(){
console.log('started!');
log(wait callee());
}
caller();
不确定您到底在问什么,但我认为您正在寻找的是控制流。为此,请查看或更好地了解promises和Generator。