小编125*_*748的帖子

类型声明适用于对象文字,但不适用于类实现

我想要一个类型来代表一个坐标。我已应用到接口的类型适用于对象,但不适用于类。

type ICoord = [number, number]

type MyInterface = {
    a: ICoord
}

var obj: MyInterface = { // works
    a: [0, 0]
}

class C implements MyInterface { // gets below compilation error
    a = [0, 0]
}
Run Code Online (Sandbox Code Playgroud)

Property 'a' in type 'C' is not assignable to the same property in base type 'MyInterface'. Type 'number[]' is missing the following properties from type '[number, number]': 0, 1

我为什么不能分配[0, 0]a

[TypeScript游乐场]

javascript types typescript

5
推荐指数
1
解决办法
48
查看次数

从 Firebase 函数使用 Cloud SQL 代理

我在本地运行 Google 的Cloud SQL 代理,它使用如下命令处理本地提供的 Firebase 函数:

/cloud_sql_proxy -instances=my-project-12345:us-central1:my-instance=tcp:1433
Run Code Online (Sandbox Code Playgroud)

但是我真的不知道如何在部署的 Firebase 函数上进行这项工作。

export const typeOrmConnectionOptions: ConnectionOptions = {
  name: 'primary',
  type: 'mssql',
  host: '127.0.0.1',
  port: 1433,
  username: 'sqlserver',
  password: 'my$trongPa$$word',
  database: 'TestDB',
  synchronize: true,
  logging: true,
  entities: ['lib/entity/**/*.js'],
  ...(prod && {
    extra: {
      socketPath:
        '/cloudsql/my-project-12345:us-central1:my-instance=tcp',
      credential_file: './admin-service-account-file-long-a1b2c3-hash.json'
    }
  })
};
Run Code Online (Sandbox Code Playgroud)

就将凭证文件作为 extras 对象的一部分传递给 TypeORM 的连接对象而言,我真的是在黑暗中拍摄,但是我觉得必须有这样的事情才能链接我在下面创建的服务帐户 此步骤后到数据库查询。

我的另一个远见是使用环境变量来设置使用此 JSON 文件的凭据:

process.env.GOOGLE_APPLICATION_CREDENTIALS = fs.readFileSync(
  './admin-service-account-file-long-a1b2c3-hash.json',
  'utf8'
)
Run Code Online (Sandbox Code Playgroud)

没有喜悦。

我不认为错误消息有多大帮助,因为我确定我尝试这样做的方式从根本上是不正确的,但是对于它的价值,上面得到了错误

"Failed to connect to 127.0.0.1:1433 - connect ECONNREFUSED …
Run Code Online (Sandbox Code Playgroud)

javascript node.js google-cloud-sql firebase google-cloud-platform

5
推荐指数
1
解决办法
652
查看次数

如何使用 NodeJS REPL 更改光标的垂直位置?

在节点 REPL 中,可以使用以下命令进入多行编辑器模式:

.editor
Run Code Online (Sandbox Code Playgroud)

好吧,我可以从剪贴板粘贴多行并执行它们。然而,它并没有真正让我编辑除了最后一行之外的任何代码。可以使用左右箭头键在该行上移动光标,但似乎无法上下移动行来编辑它们。

在 NodeJS REPL 中,如何垂直移动光标?

javascript node.js read-eval-print-loop

5
推荐指数
0
解决办法
189
查看次数

如何在数组方法链中解开 Promise 数组?

我有几个映射链,其中一个需要为每个数组元素执行数据库操作,所以我使用 async await。

const resultsAsPromises = arr
  .map(syncDouble)
  .map(asyncMapper)
Run Code Online (Sandbox Code Playgroud)

如果它是链中的最后一个项目,这不是问题,因为我可以用 Promise.all

console.log('results', await Promise.all(resultsAsPromises))
Run Code Online (Sandbox Code Playgroud)

但是,之后我还需要执行其他同步操作,因此我希望在继续执行下一个.map.

有没有办法做到这一点?我想也许只是制作一个提取映射器

function extractPromiseValues(value) {
  return value.then(v => v);
}
Run Code Online (Sandbox Code Playgroud)

会工作,但唉,没有。

const resultsAsPromises = arr
  .map(syncDouble)
  .map(asyncMapper)
Run Code Online (Sandbox Code Playgroud)

如何在数组方法链中解开一组 Promise

javascript arrays method-chaining promise

5
推荐指数
1
解决办法
285
查看次数

简单模态不滚动背景<body>

我正在使用简单的模态.当你在模态的边界外滚动鼠标滚轮时,有没有办法保持滚动背景(叠加层后面)?

谢谢!

javascript css jquery simplemodal

4
推荐指数
1
解决办法
1941
查看次数

jQuery UI对话框()淡入淡出问题

jsFiddle:http://jsfiddle.net/loren_hibbard/ChXbr/

我正在尝试使用jQuery UI对话框,但无法弄清楚它fadeIn何时出现以及fadeOut何时关闭.

如果我做这样的事......

// Dialog           
$('#dialog').dialog({
   autoOpen: false,
   width: 600,
   modal: true,
   show: 'fadeIn(300)'
});
Run Code Online (Sandbox Code Playgroud)

...然后使用奇怪的jQuery效果进行模态滑动,其中所有文本内部都经常调整其格式和格式.我想要一个正常的淡入淡出的内容类型顺利实现(http://www.bennadel.com/resources/presentations/jquery/demo5/index.htm).

另外,有没有让模态覆盖更暗一些?为什么当我删除看似无关的文本段落时,模态会停止工作?

jquery jquery-ui jquery-dialog

4
推荐指数
1
解决办法
5959
查看次数

可以用css3过渡轮廓颜色

是不是可以用css3转换大纲?

body{margin:10px;padding:0px;}
#tDiv{
    background-color:#999;
    width:500px; 
    height:500px;
    color:black;
   outline: 5px dashed #222; 
    -moz-transition: color 2s;
    -o-transition: color 2s;
    -webkit-transition: color 2s;
    transition: color 2s;
    -moz-transition: outline-color .7s ease-out;
    -o-transition: outline-color .7s ease-out;
    -webkit-transition: outline-color .7s ease-out;
    transition: outline-color .7s ease-out;
    -moz-transition: background-color .7s ease-out;
    -o-transition: background-color .7s ease-out;
    -webkit-transition: background-color .7s ease-out;
    transition: outline-background .7s ease-out;   
}
#tDiv:hover{
    color:green;
    background-color:gold;
    outline: 5px dashed magenta;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/loren_hibbard/uKGCc/

这只会立即改变轮廓..

谢谢

html css css3

4
推荐指数
1
解决办法
6782
查看次数

自定义函数中的回调函数

有没有办法在另一个完成后调用自定义函数.很多jquery都包含一种回调方式,比如动画完成时你可以将另一个函数作为最后一个参数.但无论如何要串起来function1(params, function1(){alert('2');})还是什么?老实说,我不知道它会是什么样子.

谢谢

javascript jquery

4
推荐指数
1
解决办法
152
查看次数

摆脱jsfiddle的角色

jsFiddle似乎将一个字符放在不可见的小提琴中,当javascript被复制/粘贴到另一个编辑器并运行时会导致错误.我知道简单的答案就是不要从该网站复制/粘贴.但是假设它已经完成,你必须在你的文档中找到这个角色:是否有任何在线工具可以用来显示隐形字符,并协助他们删除?

javascript jsfiddle

4
推荐指数
1
解决办法
298
查看次数

如何从MDN中的这些示例中"提升"javascript变量

这篇 mozilla文章中,我读到:

关于JavaScript中变量的另一个不同寻常之处在于,您可以引用稍后声明的变量,而不会出现异常.这个概念被称为吊装; JavaScript中的变量在某种意义上是"被提升"或被提升到函数或语句的顶部.但是,尚未初始化的变量将返回undefined值.

然后是一些例子:

/**
 * Example 1
 */
console.log(x === undefined); // logs "true"
var x = 3;


/**
 * Example 2
 */
// will return a value of undefined
var myvar = "my value";

(function() {
  console.log(myvar); // undefined
  var myvar = "local value";
})();
Run Code Online (Sandbox Code Playgroud)

上面的示例2将被解释为:

var myvar = "my value";

(function() {
  var myvar;
  console.log(myvar); // undefined
  myvar = "local value";
})();
Run Code Online (Sandbox Code Playgroud)

我没有看到任何被"悬挂"的东西 - 至少在我传统上解释这个词的定义的意义上来说:它似乎是变量,undefined直到它们被宣布之后.在什么意义上你可以"引用后来声明的变量"?

javascript

4
推荐指数
1
解决办法
319
查看次数