Javascript функция (метод) с коллбэком, как присвоить результат не используя коллбэк

Суть такая!

в phamtomejs-node (обертка над phantomjs) есть метод phantome.create([param],[param],[....],callback) - создает инстанс phantomjs....
Если делать как по мануалу то все окей. т.е. все остальное в коллбэке - как то так

phantome.create([param],[param],[....],function(ph){
..... что то делаем
})

а я хочу так:

var ph = phantome.create([param],[param],[....]); а дальше с ph что то делать..... к примеру
ph.createPage т.д.

это вообще реально?

если нет, и вообще как передать что то в коллбэк этот??? (пробовал EventEmitter - не получилось!)
  • Вопрос задан
  • 2490 просмотров
Пригласить эксперта
Ответы на вопрос 5
morozovdenis
@morozovdenis
обычное замыкание не работает?

var v1 = 1;
var _ph, _ph2;

phantome.create([param],[param],[....],function(ph){
if (v1 == 1)
{
_ph = ph;
}
else
{
_ph2 = ph;
}
..... что то делаем
})
Ответ написан
Комментировать
Liberg
@Liberg Автор вопроса
Event Emitter из объекта phantom работает, а в него нет..... (хотя я так думаю это норамльно).....
Ответ написан
Комментировать
Liberg
@Liberg Автор вопроса
когда так делаю...

var ph = phantome.create([param],[param],[....]);

возвращается объект с моими переданными параметрами..... а когда по инструкции то с методами и т.д.
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
Попробуйте поиграться с deferred/promise.

https://github.com/kriskowal/q
Ответ написан
Комментировать
@kfuntov
Если правильно понял вопрос, то @morozovdenis дело говорит.
По идее внутри коллбэка будет доступно всё, что было до него определено.
var a = 0;
phantome.create([param],[param],[....],function(ph){
..... что то делаем
доступно a
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы