本文整理汇总了TypeScript中@akala/json-rpc-ws.Client.send方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Client.send方法的具体用法?TypeScript Client.send怎么用?TypeScript Client.send使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@akala/json-rpc-ws.Client
的用法示例。
在下文中一共展示了Client.send方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: reject
return new Promise<any>((resolve, reject) =>
{
if (!kodi.isConnected())
{
client.$proxy().unregisterPlayer({ identity: kodiService.id, name: kodiService.name })
reject(new Error('Not connected'));
return;
}
akala.each(m.params, function (value)
{
if (value.required && typeof (params[value.name]) == 'undefined')
{
throw JSON.stringify(params) + ' is missing the required param ' + value.name + ' for ' + ns[1];
}
});
akala.logger.verbose('calling ' + i, JSON.stringify(params));
kodi.send(i as string, params, (error, result) =>
{
if (error)
reject(error);
else
resolve(result);
});
});
示例2: connected
kodi.connect('ws://' + kodiService.referer.address + ':' + kodiService.port + '/jsonrpc', function connected(err)
{
if (err)
{
debug.error(err);
reject(err);
}
debug.log('connected to ' + kodiService.name);
kodi.send('JSONRPC.Introspect', [], async function (error, reply)
{
if (error)
{
debug.error(error);
reject(error);
}
else
{
akala.each(reply['methods'], function (m, i)
{
var ns = (i as string).split('.');
if (typeof (kodi[ns[0]]) == 'undefined')
kodi[ns[0]] = {};
kodi[ns[0]][ns[1]] = function (params)
{
return new Promise<any>((resolve, reject) =>
{
if (!kodi.isConnected())
{
client.$proxy().unregisterPlayer({ identity: kodiService.id, name: kodiService.name })
reject(new Error('Not connected'));
return;
}
akala.each(m.params, function (value)
{
if (value.required && typeof (params[value.name]) == 'undefined')
{
throw JSON.stringify(params) + ' is missing the required param ' + value.name + ' for ' + ns[1];
}
});
akala.logger.verbose('calling ' + i, JSON.stringify(params));
kodi.send(i as string, params, (error, result) =>
{
if (error)
reject(error);
else
resolve(result);
});
});
}
})
akala.each(reply['notifications'], function (i, m)
{
var ns = i.split('.');
if (typeof (kodi[ns[0]]) == 'undefined')
kodi[ns[0]] = {};
kodi[ns[0]][ns[1]] = function (callback)
{
if (typeof (callback) == 'undefined')
{
throw 'callback is missing for ' + ns[1];
}
akala.logger.info('monitoring ' + i, JSON.stringify(i));
kodi.expose(i, callback);
}
})
debug('kodi client built');
await kodi['JSONRPC'].SetConfiguration({ notifications: { gui: false, system: true, player: true, audiolibrary: false, other: false, videolibrary: false } });
kodi['Player'].OnPause(function ()
{
debug('OnPause')
client.status({ target: kodiService.id });
stopTimer(kodiService.id);
});
kodi['Player'].OnPlay(function ()
{
debug('OnPlay')
client.status({ target: kodiService.id });
client.playlist({ target: kodiService.id });
startTimer(kodiService.id);
});
kodi['Player'].OnSeek(function ()
{
debug('OnSeek')
client.status({ target: kodiService.id });
});
kodi['Player'].OnPropertyChanged(function ()
{
debug('OnPropertyChanged')
client.status({ target: kodiService.id });
});
kodi['Player'].OnStop(function ()
{
debug('OnStop')
client.status({ target: kodiService.id });
stopTimer(kodiService.id);
});
resolve(kodi as any);
//.........这里部分代码省略.........