Вызов обратного вызова из собственного кода node.js

Я пишу дополнение для node.js, используя c ++.

вот некоторые фрагменты:

class Client : public node::ObjectWrap, public someObjectObserver {
public:
  void onAsyncMethodEnds() {
    Local<Value> argv[] = { Local<Value>::New(String::New("TheString")) };
    this->callback->Call(Context::GetCurrent()->Global(), 1, argv);
  }
....
private:
  static v8::Handle<v8::Value> BeInitiator(const v8::Arguments& args) {
    HandleScope scope;
    Client* client = ObjectWrap::Unwrap<Client>(args.This());

    client->someObject->asyncMethod(client, NULL);

    return scope.Close(Boolean::New(true));        
  }      

  static v8::Handle<v8::Value> SetCallback(const v8::Arguments& args) {
    HandleScope scope;
    Client* client = ObjectWrap::Unwrap<Client>(args.This());
    client->callback = Persistent<Function>::New(Handle<Function>::Cast(args[0]));

    return scope.Close(Boolean::New(true));
  }

Мне нужно сохранить функцию JavaScript как обратный вызов, чтобы вызвать его позже. Класс Client является наблюдателем для другого объекта, и обратный вызов javascript должен вызываться из onAsyncMethodEnds. К сожалению, когда я вызываю функцию «BeInitiator», я получаю сообщение об ошибке «Bus error: 10» непосредственно перед обратным вызовом Call ()

спасибо в совете

Ответы на вопрос(1)

Ваш ответ на вопрос