小编use*_*553的帖子

在Node中处理嵌套异步等待调用的正确方法是什么?

试图在Javascript中学习异步模式,但它似乎没有等待以下行.在以下示例中,集合是请求对象,而不是实际解析的正文.是不是await应该等待请求完成?

async function importUsers(endpoint) {
    const options = {
        data: search,
        uri: endpointCollection,
        headers,
    }

    try {
        const collection = await browser.post(options, (err, res, body) => JSON.parse(body))
        // collection is the request object instead of the result of the request
        const users = await collection.data.forEach(item => parseUserProfile(item));

        await users.forEach(user => saveUserInfo(user))
    } catch(err) {
        handleError(err)
    }
}



async function parseUserProfile({ username, userid }) {
    const url = userProfileString(username)

    try {
        const profile = await browser.get(url, headers, (err, res, …
Run Code Online (Sandbox Code Playgroud)

javascript node.js async-await

14
推荐指数
2
解决办法
2万
查看次数

SVG元素的宽度和高度在html中设置,但在检查器中显示为0 0

我有一个像这样的svg rect:

<svg class="legend-square">
  <defs>
    <pattern id="pattern1" width="3"
     height="3" patternunits="userSpaceOnUse" patterntransform="rotate(-45)">
      <rect width="2" height="3" transform="translate(0,0)" fill="purple"></rect>
    </pattern>
  </defs>
  <rect width="12" height="12" fill="url(#pattern1)"></rect>
</svg>
Run Code Online (Sandbox Code Playgroud)

当我用Chrome检查第二个矩形时,它没有宽度和高度. 在此输入图像描述没有适用于它的CSS规则.为什么它不受宽度和高度的影响?

html javascript css svg

10
推荐指数
2
解决办法
5804
查看次数

为什么更改 Cupertino App 中导航栏的背景颜色会改变高度?

我有一个小部件演示 Flutter 应用程序的渲染。正如下面所写的,文本在navigationBar. 但是,如果您注释掉backgroundColor,它就会变得不可见。这是为什么?

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
      home: CupertinoPageScaffold(
        navigationBar: const CupertinoNavigationBar(
          middle: Text("Settings"),
          previousPageTitle: "Back",
          backgroundColor: Colors.blue,
        ),
        child: Column(
          children: const <Widget>[
            Text("Hello World!"),
          ],
        ),
      ),
    );
  }
}

Run Code Online (Sandbox Code Playgroud)

没有蓝色:没有蓝色的图像

蓝色:蓝色图像

dart flutter

9
推荐指数
1
解决办法
950
查看次数

在Vue中代理webpack dev服务器

我试图代理使用和的所有api/请求.命令行上的输出表明代理已经创建,但实际上它并没有代理到正确的地址和404.http://localhost:3000vue-axiosvuex

我在webpack中有以下设置:

dev: {
  env: require('./dev.env'),
  port: 8080,
  autoOpenBrowser: true,
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  proxyTable: {
    'api/': {
      target: 'https://localhost:3000/api',
      changeOrigin: true,
      pathRewrite: {
        '^/api':""
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的动作文件中,我有:

import Vue from 'vue'

export const register = ({ commit }, user) => {
  return new Promise((resolve, reject) => {
    Vue.axios.post('users', user)
        .then(res => {
          console.log(res)
          debugger
        })
        .catch(err => {
          console.error(err)
          debugger
        })
  })
}
Run Code Online (Sandbox Code Playgroud)

控制台输出表明已建立代理:

[HPM] Proxy created: /api  ->  https://localhost:3000/api
[HPM] Proxy …
Run Code Online (Sandbox Code Playgroud)

javascript webpack vue.js

7
推荐指数
2
解决办法
1303
查看次数

可以在Ember的服务中进行路由转换吗?

我正在使用ember-cli 1.13.8,我有一个处理大部分逻辑的服务.现在我有一个函数可以监听某些事情是真还是假,然后可以根据它来改变路由.我宁愿不必从每条路线内部调用该功能,因为我希望它发生在每条路线上.它的目标是确定玩家是否赢了,游戏中的每次互动都是如此.

我的游戏服务内部:

init() {
  ... 
  if(true) {
    console.log("you've won!");
    this.transitionTo("congratulations");
  }
},
Run Code Online (Sandbox Code Playgroud)

当然,这失败了,因为this不像Ember期望的那样.我知道我可以从每条路线内部调用这种方法,但我想知道是否有更好的方法来做到这一点.

谢谢

编辑

到目前为止,我已尝试在应用程序中导入,然后尝试扩展路由器.这似乎是一个坏主意.

ember.js

6
推荐指数
2
解决办法
6621
查看次数

在golang中构建没有github的本地导入

我正在构建一个简单的应用程序,在阅读了关于构建应用程序的文档之后,我仍然感到困惑.

我想要这个结构:

  • 实践
    • 型号(打包成型号)
      • 一个
      • b
    • 路由器(打包为路由器)
      • 一个
      • b

app.go

在里面app.go,我有以下内容:

package main

import (
    "net/http"

    // I have tried the following:
    "practice/models/a"
    "practice/models/b"
    "practice/models"
    "$GOPATH/practice/models/a"
    "$GOPATH/practice/models/b"
    "$GOPATH/practice/models"
    ...
)

func main() {
    http.HandleFunc("/a", AHandler)
    http.HandleFunc("/b", BHandler)
    http.ListenAndServe(":8080", nil)
}
Run Code Online (Sandbox Code Playgroud)

A和B型号如下所示:

package models

import "net/http"

func AHandler(w http.ResponseWriter, r *http.Request) {
   // code
}
Run Code Online (Sandbox Code Playgroud)

两个问题:

  1. 世界上哪些是导入这些文件的正确方法?我是否真的必须将它们推送到github以便能够引用它们?我知道$ GOPATH是本地机器上整个go工作区的命名空间.我的$ GOPATH设置为包含此目录.

  2. 我是否需要在这些文件中定义主方法?我可以只导出一个函数并将其作为处理函数吗?

谢谢.

我咨询过这些文档

go

6
推荐指数
2
解决办法
1992
查看次数

组件中未定义的灰烬“ this”

我正在尝试创建一个进度条,该进度条会随着更多挑战的完成而更新。但是,组件无法访问该属性,因为该属性是未定义的。

我已经注入了服务,并且试图从服务的属性创建计算属性。但是,除非在调试中,否则始终是未定义的。

import Ember from 'ember';

export default Ember.Component.extend({
  progress: 0,
  game: Ember.inject.service(),
  events: this.get("game.challenges")
});
Run Code Online (Sandbox Code Playgroud)

怎么能这样在上面的代码是不确定的?它如何不受任何范围限制?

我抛出了这样的调试器:

init() {
  debugger
},
Run Code Online (Sandbox Code Playgroud)

如果我注销,this.get("game")它将返回期望值。

我还尝试将服务放入仍未定义的init内。我已经尝试过注销,但也未定义。

有没有办法强迫服务在继续之前解决?我尝试使用各种组件挂钩,但是它们似乎并没有改变。

javascript ember.js

5
推荐指数
2
解决办法
3414
查看次数

Rails - 从另一个模型中创建模型的实例

我有一个应用程序,我正在构建,我需要一个模型来创建另一个模型的实例.我希望每辆车都有4个轮胎.

汽车模型

class Car < ActiveRecord::Base
  has_many :tires

  after_create :make_tires

  def make_tires
    4.times { Tire.create(car: self.id) }
  end
end
Run Code Online (Sandbox Code Playgroud)

轮胎模型

class Tire < ActiveRecord::Base
  belongs_to :car
end
Run Code Online (Sandbox Code Playgroud)

但是,make_tires如果我尝试使用Tire,则会出现错误,即没有用于create或new的activerecord方法.当我检查轮胎时,它没有那些方法.

我该如何解决这个问题?

错误是这样的: undefined method 'create' for ActiveRecord::AttributeMethods::Serialization::Tire::Module

我测试了两种环境:测试和开发,它们都因同一错误而失败.

ruby ruby-on-rails

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

使用Postgres在Rails中设置外键

我试图跟踪用户喜欢喜欢它们的用户的相互喜欢.为了检查是否是相互的,我在创建之后调用一个方法.如果那个骗子是一个喜欢它而不是它被认为是相互的.

但问题是,我遇到了一些奇怪的错误,我认为这些错误与外键的设置方式有关.我在Rails中设置了很多关联,但是每当我尝试访问它时,我都会收到PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block : RELEASE SAVEPOINT active_record_1错误.

用户:

class User < ApplicationRecord
  has_many :likes
end
Run Code Online (Sandbox Code Playgroud)

喜欢:

class Like < ApplicationRecord
  belongs_to :likee, class_name: 'User', foreign_key: 'likee_id'
  belongs_to :liker, class_name: 'User', foreign_key: 'liker_id'
  belongs_to :connection, optional: true

  after_save :mutual_like?

  private

  def mutual_like?

    if liker.likes.where(likee: liker)
      # fails
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我已经尝试将钩子更改为保存等,但这也不起作用.

此外,我甚至不能打电话给Like.first别人我得到同样的错误.

我试着打印出liker.likes.where(likee: liker)和我得到PG::UndefinedColumn: ERROR: column likes.user_id does not exist我认为这是问题.

但是,我可以像这样访问liker:self.likee …

ruby ruby-on-rails

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

使用关键字参数初始化Ruby结构

Ruby版本:2.3.1

似乎不能使用关键字params声明Ruby Structs。有没有办法做到这一点Struct

例:

MyStruct = Struct.new(:fname, :lname)
=> MyStruct

my_struct = MyStruct.new(fname: 'first', lname: 'last')
=> <struct MyStruct fname={:fname=>"first", :lname=>"last"}, lname=nil>

my_struct.fname
=> {:fname=>"first", :lname=>"last"}

my_struct.lname
=> nil
Run Code Online (Sandbox Code Playgroud)

ruby struct

5
推荐指数
2
解决办法
1292
查看次数

标签 统计

javascript ×4

ruby ×3

ember.js ×2

ruby-on-rails ×2

async-await ×1

css ×1

dart ×1

flutter ×1

go ×1

html ×1

node.js ×1

struct ×1

svg ×1

vue.js ×1

webpack ×1