javascript – 为什么瀑布这么慢?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 为什么瀑布这么慢?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1153字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 为什么瀑布这么慢?](/upload/InfoBanner/zyjiaocheng/783/ffa797b88a014bcd94593265c8defec9.jpg)
我正在为Node.js使用异步模块(参见https://github.com/caolan/async),我的问题是……为什么瀑布这么慢?
执行这段代码大约需要4秒钟……
App.post("/form", function(request, response) {
Async.waterfall([
function(callback) {
console.log("1.");
callback(null, "some data");
},
function(data, callback) {
console.log("2.");
callback(null, "some data");
},
function(data, callback) {
console.log("3.");
callback(null, "some data");
}
], function(error, document) {
console.log("4.");
console.log("Done.");
response.send(); // Takes 4 seconds
});
}
产量
1.
2.
// After 4 seconds
3.
4.
Done.
谢谢你的答复!
解决方法:
这只是另一个Node.js Bug.
在挂起的http.ServerResponse期间,在另一个process.nextTick中使用process.nextTick被破坏.
var http = require('http');
http.createServer(function(req, res) {
var now = new Date();
process.nextTick(function() {
process.nextTick(function() {
console.log(new Date() - now);
res.writeHead({});
res.end('foooooo');
});
});
}).listen(3000);
这需要一个永恒,async.js从其他回调中调用回调,这些回调是通过process.nextTick调用的,然后导致上面的错误被触发.
快速修复:在async.js第63行修改async.nextTick只使用setTimeout.
错误:我已经提交了issue.
内容总结
以上是互联网集市为您收集整理的javascript – 为什么瀑布这么慢?全部内容,希望文章能够帮你解决javascript – 为什么瀑布这么慢?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。