执行命令

在您的网页上实现基本代码后,您可以开始使用SDK执行命令。 执行命令之前,您无需等待从服务器加载外部文件(alloy.js)。 如果SDK尚未完成加载,则命令将尽快排队并由SDK进行处理。

使用以下语法执行命令。

alloy("commandName", options);

commandName告诉SDK要做什么,而options是要传递到命令的参数和数据。 由于可用选项取决于命令,请查阅文档以了解有关每个命令的详细信息。

关于承诺的便条

诺是SDK如何与您网页上的代码通信的基础。承诺是一种常见的编程结构,并非特定于此SDK甚至JavaScript。 承诺充当创建承诺时未知的值的代理。 一旦知道该值,承诺就与该值“解析”。 处理函数可以与承诺关联,以便当承诺已解析或在解决承诺过程中出现错误时可以通知您。 要进一步了解承诺,请阅读本教程或Web上的任何其他资源。

处理成功或失败

每次执行命令时,都会返回承诺。 承诺是指最终完成指挥。 在以下示例中,可以使用thencatch方法确定命令何时成功或失败。

alloy("commandName", options)
  .then(function(result) {
    // The command succeeded.
    // "value" is whatever the command returned
  })
  .catch(function(error) {
    // The command failed.
    // "error" is an error object with additional information
  });

如果知道命令何时成功对您不重要,您可以删除then调用。

alloy("commandName", options)
  .catch(function(error) {
    // The command failed.
    // "error" is an error object with additional information
  });

同样,如果知道命令何时失败对您来说并不重要,您可以删除catch调用。

alloy("commandName", options)
  .then(function(result) {
    // The command succeeded.
    // "value" will be whatever the command returned
  });

响应对象

从命令返回的所有承诺都由result对象解析。 结果对象将根据命令和用户同意包含数据。 例如,库信息将作为结果对象的属性在以下命令中传递。

alloy("getLibraryInfo")
  .then(function(result) {
    console.log(results.libraryInfo.version);
  });

同意

如果用户未出于特定目的同意,承诺仍将得到解决;但是,响应对象将仅包含可在用户同意的上下文中提供的信息。

在此页面上