小编ste*_*dis的帖子

将V8对象转换为指针

我正在编写一个Node应用程序(在TS中),需要与一些本机库连接.

我有一个库(用C语言编写) - 让我们认为它是一个黑盒子 - 而且我正在使用NAN编写一个包装器.库本机接口可以简化为以下功能:

typedef void (*got_message_reply_cb)(context ctx, void * priv, struct X * the_reply);

context lib_connect();
bool lib_send_message(context ctx, message msg, got_message_reply_cb callback, void * priv);
Run Code Online (Sandbox Code Playgroud)

我相信这很容易理解.

所以,我试图将这个黑盒子本机库包装成:

class TheLibrary : public Nan::ObjectWrap {
    Initialize(v8::Handle<v8::Object> target);
    SendMessage(...)
}
Run Code Online (Sandbox Code Playgroud)

然后到javascript对象,如:

class TheLibrary {
    SendMessage(message: whatever, callback: (reply) => void); // or return promise, doesn't matter
}
Run Code Online (Sandbox Code Playgroud)

如何在NAN C++模块中实际处理回调?我需要以某种方式传递回调(可能由Local<Function>- 表示,如果我理解正确,范围有限)作为指向函数的指针,然后将其检索回来.怎么做?谢谢你的回复.

c++ native node.js

25
推荐指数
1
解决办法
651
查看次数

在AMP页面中与"html⚡"有什么关系?

我正在挖掘AMP html,这条线立刻引起了我的注意.

AMP HTML文档必须:

包含顶级<html ?>标记(<html amp>也被接受).

所以我的第一个问题是 - <html ?>有效的HTML?它的意思是,它似乎有用 - 但我看起来很奇怪.有人能指出unicode作为HTML属性的具体规则吗?

我的另一个问题是,它用于什么.在文档中指出,这是有效的AMP文档所必需的.

但丢弃它不会导致AMP验证错误.AMP本身的JS来源似乎也并不关心它.

这真的是爬行器和机器人将文档标记为AMP的标志吗?

提前致谢.:)

amp-html

9
推荐指数
2
解决办法
3007
查看次数

标签 统计

amp-html ×1

c++ ×1

native ×1

node.js ×1