• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript Q.nbind函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中Q.nbind函数的典型用法代码示例。如果您正苦于以下问题:TypeScript nbind函数的具体用法?TypeScript nbind怎么用?TypeScript nbind使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了nbind函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: upnpConf

async function upnpConf (noupnp:boolean, logger:any) {
  const client = require('nat-upnp').createClient();
  // Look for 2 random ports
  const publicPort = await getAvailablePort(client)
  const privatePort = publicPort
  const conf:NetworkConfDTO = {
    proxiesConf: undefined,
    nobma: true,
    bmaWithCrawler: false,
    port: privatePort,
    ipv4: '127.0.0.1',
    ipv6: '::1',
    dos: null,
    upnp: false,
    httplogs: false,
    remoteport: publicPort,
    remotehost: null,
    remoteipv4: null,
    remoteipv6: null
  }
  logger && logger.info('Checking UPnP features...');
  if (noupnp) {
    throw Error('No UPnP');
  }
  const publicIP = await Q.nbind(client.externalIp, client)();
  await Q.nbind(client.portMapping, client)({
    public: publicPort,
    private: privatePort,
    ttl: BMAConstants.UPNP_TTL
  });
  const privateIP = await Q.Promise((resolve:any, reject:any) => {
    client.findGateway((err:any, res:any, localIP:any) => {
      if (err) return reject(err);
      resolve(localIP);
    });
  });
  conf.remoteipv4 = publicIP.match(BMAConstants.IPV4_REGEXP) ? publicIP : null;
  conf.remoteport = publicPort;
  conf.port = privatePort;
  conf.ipv4 = privateIP.match(BMAConstants.IPV4_REGEXP) ? privateIP : null;
  return conf;
}
开发者ID:duniter,项目名称:duniter,代码行数:42,代码来源:network.ts


示例2: getAvailablePort

async function getAvailablePort(client:any) {
  const mappings:{ public: { port:number }}[] = await Q.nbind(client.getMappings, client)();
  const externalPortsUsed = mappings.map(m => m.public.port)
  let availablePort = BMAConstants.BMA_PORTS_START
  while (externalPortsUsed.indexOf(availablePort) !== -1 && availablePort <= BMAConstants.BMA_PORTS_END) {
    availablePort++
  }
  if (availablePort > BMAConstants.BMA_PORTS_END) {
    throw "No port available for UPnP"
  }
  return availablePort
}
开发者ID:Kalmac,项目名称:duniter,代码行数:12,代码来源:network.ts


示例3: findGateway

 async findGateway() {
   try {
     const client = upnp.createClient();
     const res = await Q.nbind(client.findGateway, client)();
     const desc = res && res[0] && res[0].description;
     if (desc) {
       const match = desc.match(/(\d+.\d+.\d+.\d+):/);
       if (match) {
         return match[1];
       }
     }
     return null;
   } catch (e) {
     return null;
   }
 }
开发者ID:duniter,项目名称:duniter,代码行数:16,代码来源:upnp.ts


示例4: function

export const Upnp = async function (localPort:number, remotePort:number, logger:any, conf:ConfDTO) {
  "use strict";

  logger.info('UPnP: configuring...');
  const api = new UpnpApi(localPort, remotePort, logger, conf)
  try {
    await api.openPort()
  } catch (e) {
    const client = upnp.createClient();
    try {
      await Q.nbind(client.externalIp, client)();
    } catch (err) {
      if (err && err.message == 'timeout') {
        throw 'No UPnP gateway found: your node won\'t be reachable from the Internet. Use --noupnp option to avoid this message.'
      }
      throw err;
    } finally {
      client.close();
    }
  }
  return api
};
开发者ID:duniter,项目名称:duniter,代码行数:22,代码来源:upnp.ts


示例5: require

const _ = require('lodash')
const FS  = require('fs')
const Q  = require('q')
const glob = require('glob')
const sass = require('node-sass')

let globSearch = Q.denodeify(glob)
let sassRender = Q.nbind(sass.render, sass)
let writeFile = Q.denodeify(FS.writeFile)
let sassDefaults = {
  includePaths: [
  ],
  indentedSyntax: true
}

globSearch('src/**/*.scss')
  .then((files) => {
    var result = Q()
    files.forEach((srcFile) => {
      result = result
        .then(() => {
          let dstFile = srcFile.replace(/\.scss$/i, '.css')
          return buildSassFile(srcFile, dstFile)
        })
    })
    return result
  })
  .then(() => {
    console.log('Compiled CSS files.')
  })
  .catch((err) => {
开发者ID:ng-cookbook,项目名称:angular2-redux-complex-ui,代码行数:31,代码来源:build-css.ts



注:本文中的Q.nbind函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript Q.nfcall函数代码示例发布时间:2022-05-25
下一篇:
TypeScript Q.fcall函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap