试图在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) 我有一个像这样的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)
我有一个小部件演示 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)
我试图代理使用和的所有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) 我正在使用ember-cli 1.13.8,我有一个处理大部分逻辑的服务.现在我有一个函数可以监听某些事情是真还是假,然后可以根据它来改变路由.我宁愿不必从每条路线内部调用该功能,因为我希望它发生在每条路线上.它的目标是确定玩家是否赢了,游戏中的每次互动都是如此.
我的游戏服务内部:
init() {
...
if(true) {
console.log("you've won!");
this.transitionTo("congratulations");
}
},
Run Code Online (Sandbox Code Playgroud)
当然,这失败了,因为this不像Ember期望的那样.我知道我可以从每条路线内部调用这种方法,但我想知道是否有更好的方法来做到这一点.
谢谢
编辑
到目前为止,我已尝试在应用程序中导入,然后尝试扩展路由器.这似乎是一个坏主意.
我正在构建一个简单的应用程序,在阅读了关于构建应用程序的文档之后,我仍然感到困惑.
我想要这个结构:
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)
两个问题:
世界上哪些是导入这些文件的正确方法?我是否真的必须将它们推送到github以便能够引用它们?我知道$ GOPATH是本地机器上整个go工作区的命名空间.我的$ GOPATH设置为包含此目录.
我是否需要在这些文件中定义主方法?我可以只导出一个函数并将其作为处理函数吗?
谢谢.
我咨询过这些文档
我正在尝试创建一个进度条,该进度条会随着更多挑战的完成而更新。但是,组件无法访问该属性,因为该属性是未定义的。
我已经注入了服务,并且试图从服务的属性创建计算属性。但是,除非在调试中,否则始终是未定义的。
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内。我已经尝试过注销,但也未定义。
有没有办法强迫服务在继续之前解决?我尝试使用各种组件挂钩,但是它们似乎并没有改变。
我有一个应用程序,我正在构建,我需要一个模型来创建另一个模型的实例.我希望每辆车都有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
我测试了两种环境:测试和开发,它们都因同一错误而失败.
我试图跟踪用户喜欢喜欢它们的用户的相互喜欢.为了检查是否是相互的,我在创建之后调用一个方法.如果那个骗子是一个喜欢它而不是它被认为是相互的.
但问题是,我遇到了一些奇怪的错误,我认为这些错误与外键的设置方式有关.我在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版本: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)