Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在node.js中创建自定义异步函数_Javascript_Jquery_Node.js_Asynchronous - Fatal编程技术网

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。