function taskFirst(k, v, next) {
console.log(k, v);
next(null, 'ok1');
}
function taskSecond(k, v, next) {
console.log(k, v);
next(null, 'ok2');
}
function run() {
var g1 = "Something";
var g2 = "Something";
var g3 = "Something";
var g4 = "Something";
async.series([
taskFirst.bind(null, g1, g2),
taskSecond.bind(null, g3, g4)
], function(error, result){
}
);
}
;function(){}()
недопустима - синтаксическая ошибка, зато допустима !function(){}()
, и это на байт короче (function(){})()
. Ну основные подходы вы перечислили.
За yield, генераторами и обертками над ними - будующее, но пока они доступны только в нестабильной ветке 0.11. Fibers - попытка их эмулировать, мне не очень нравится, да и смысл, если скоро генераторы появятся в стабильной ветке? Q и прочие промисы - хорошая штука, но в js по старой привычке использую async.
Текущие проекты пишу на LiveScript, в нем с последовательными асинхронными операциями помогает такая штука, как backcall'ы, пример.
$routeProvider
// ...
.otherwise({redirectTo:function(obj,path){
window.location = path;
}});
function run(){
var args=$.map(arguments,function(arg,i){
switch(typeof arg){
case 'number':arg=[arg];
case 'object':
var el=$('#control'+arg[0]),cond=arg[1];
return function(){
el.click(function(){
if(el.attr('status')==(cond==null?el.attr('pass'):cond)){
el.unbind('click');
args[i+1]()}})}}
return arg});
args[0]()}
run(1,2,10,1,[9,3],alert.bind(null,'Упражнение выполнено верно'))
var rez=[]
for(var key in obj)if(obj[key].indexOf(7)==-1)rez.push(key);
app.trigger('load'+data.component,data)
В компонентах на это событие:app.on('loadNews',function(data){/*парсим шаблон*/})
echo preg_replace_callback(
'@\[\+rand\(([0-9]+)-([0-9]+)\)\+\]@si' ,
function($m){return rand(intval($m[1]), intval($m[2]));},
'test [+rand(4-10)+] test');
К сожалению, менеджеры хостинга нас ото всюду выгоняют из-за нагрузки. Предлагают услуги dedicated.
Пробывали VDS 4Гб памяти, 1 ядро 3.2Ггц, FreeBSD. — сайт не может проработать и 20 минут. Смотрим на сервере top — висит более 10 тысяч процессов httpd. На хостинге работает стабльнее, а главное — работает. Но со всех хостингов нас выгоняют вместо предложений вариантов решения проблемы.
Дело в том, что на одной странице в среднем подгружается 50 — 300 картинок. Один запрос на страницу = 50 — 300 запросов к apache+php.