得到此错误:
angular.min.js:122 TypeError:$ http.get(...).成功不是getUserInfo(app.js:7)中的函数,在new(app.js:12)处于Object.invoke(angular.min) .js:43)在Q.instance(angular.min.js:93)at p(angular.min.js:68)at g(angular.min.js:60)at g(angular.min.js:61) )在angular(min.min.js:61)处于angular.min.js:60 at angular.min.js:21
这是我的代码:
var gitHub = angular.module('gitHub', []);
gitHub.controller('mainController', ['$scope', '$http', function($scope, $http) {
var $scope.user = '';
function getUserInfo($scope, $http){
$http.get('https://api.github.com/users')
.success(function (result) {
$scope.user = result;
console.log(result);
});
};
getUserInfo($scope, $http);
}]);
Run Code Online (Sandbox Code Playgroud)
这是html
<!DOCTYPE html>
<html ng-app="gitHub">
<head>
<title>Github Users Directory</title>
<script src="angular.min.js"></script>
<script src="app.js"></script>
</head>
<body>
<div ng-controller="mainController">
<div>
<h1>GitHub Users</h1>
Who do you want to search for?<input type="text" name="FindHim" ng-model="queryName" />
<button ng-click="getUserInfo()">Search</button>
</div>
<div>
{{ user …Run Code Online (Sandbox Code Playgroud) 所以我需要在我们的网络应用中实现网络推送通知,我已经在文档的帮助下在我的应用程序中成功设置了firebase云消息,我可以要求用户允许通知权限并获取令牌ID如果他接受了许可.
问题是当我尝试发送通知来测试生成的令牌时,我收到了一条消息发送的响应,但是我无法在客户端收到它.
我的index.html
<head>
<script src="https://www.gstatic.com/firebasejs/4.4.0/firebase.js"></script>
<link rel="manifest" href="./firebase.json">
</head>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./firebase-messaging-sw.js').then(function(registration) {
console.log('Firebase Worker Registered');
}).catch(function(err) {
console.log('Service Worker registration failed: ', err);
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
我已成功注册服务工作文件
我的App.component.ts
var config = {
apiKey: "somekey",
authDomain: "someproject-2.firebaseapp.com",
databaseURL: "https://someproject-2.firebaseio.com",
projectId: "someproject-2",
storageBucket: "",
messagingSenderId: "someid"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function() {
console.log('Notification permission granted.');
return messaging.getToken()
})
.then(function(result) {
console.log("The token is: ", result);
})
.catch(function(err) {
console.log('Unable to get permission to …Run Code Online (Sandbox Code Playgroud) javascript push-notification firebase-cloud-messaging angular
我有一个无服务器的 lambda函数,在其中我想触发(调用)一个方法而忘记它
我用这种方式做
// myFunction1
const params = {
FunctionName: "myLambdaPath-myFunction2",
InvocationType: "Event",
Payload: JSON.stringify(body),
};
console.log('invoking lambda function2'); // Able to log this line
lambda.invoke(params, function(err, data) {
if (err) {
console.error(err, err.stack);
} else {
console.log(data);
}
});
// my function2 handler
myFunction2 = (event) => {
console.log('does not come here') // Not able to log this line
}
Run Code Online (Sandbox Code Playgroud)
我注意到,直到并且除非我执行Promise returnin myFunction1,否则它不会触发myFunction2,但是不应该设置lambda InvocationType = "Event"意味着我们希望此操作被触发并忘记并且不关心回调响应吗?
我在这里想念什么吗?
非常感谢您的帮助。
javascript aws-lambda serverless aws-lambda-edge aws-serverless
我在这里面临一个很奇怪的问题。
我们有一个graphql搜索查询,它接受过滤器并提供项目列表。查询是这样的
allOpportunityV2(only: String, page: Int, per_page: Int, q: String,
with: String, sort: String, filters: OpportunityFilter): OpportunityList
Run Code Online (Sandbox Code Playgroud)
OpportunityFilter是一个具有以下过滤器选择的对象
{
duration: RangeInput,
home_mcs: [Int],
programmes: [Int]
}
Run Code Online (Sandbox Code Playgroud)
当我进行此查询时,对于某些过滤器组合,即使以前已查询过apollo,它也会发出网络请求,并且我在“网络”标签中获得了正确的响应,但是在apollo的成功方法中,我没有获得正确的响应。
预期结果:
查询成功时获得正确的响应
实际结果:
{
data: undefined
loading: false
networkStatus: 7
stale: true
}
Run Code Online (Sandbox Code Playgroud)
它只是随机地以某种组合发生,并且很难准确地再现。
我正在使用apollo客户端进行graphql.我在AppApolloModule中设置了我正在AppModule中导入的客户端.我正在一个服务中进行查询,该服务也在AppModule中导入.虽然该服务在AppApolloModule运行之前运行,因此在进行查询时未初始化apollo并且我收到此错误
Error: Client has not been defined yet
Run Code Online (Sandbox Code Playgroud)
AppApolloModule
imports ....
export class AppApolloModule {
constructor(
apollo: Apollo,
httpLink: HttpLink,
private userService: UserService
) {
console.log("apollo module")
apollo.create({
link: httpLink.create({ uri: `${environment.apiBase}/graphql?${this.myService.token}`}),
cache: new InMemoryCache()
})
}
}
Run Code Online (Sandbox Code Playgroud)
应用模块
import { AppApolloModule } from './app.apollo.module';
import { MyService } from './services/my.service';
export class AppModule {
constructor() {
console.log("app module")
}
}
Run Code Online (Sandbox Code Playgroud)
我没有得到两个控制台app模块和apollo模块,因为服务首先运行,它没有找到任何初始化的apollo应用程序,因此打破了代码.
如何以高效和标准的方式在服务或任何服务之前运行apollo?
我在ngIf中有一些div,我只是想知道某种特定的div是否是现在可见/活动的div,例如事件触发器(如focus(不起作用))之类的东西,以及这个事件,我将设置一个变量或其他东西。
<div *ngIf="test === true" (focus)="myVariable = true">
</div>
Run Code Online (Sandbox Code Playgroud) javascript event-handling dom-events angular angular-event-emitter
我有一个可观察对象,它向我传递一个 json 对象,我在该对象上使用了不同的运算符。如果整个对象与以前相同,我不想有重复项。我不能只使用像 id 这样的一个比较器,因为它的 id 可能相同,但内容不同。
所以我目前正在对对象进行字符串化,然后使用不同的,它工作得很好
有一个更好的方法吗?
someObservable
.startWith(cachedCopy)
.map(item => JSON.stringify(item))
.distinct()
.subscribe(item => {
//I do some stuff!
})
Run Code Online (Sandbox Code Playgroud) body {
background: #8E2800;
}
#main {
background: purple;
position: relative;
color: white;
}
#title {
background: grey;
position: absolute;
top: 50%;
left: 50%;
height: 40%;
width: 50%;
}Run Code Online (Sandbox Code Playgroud)
<div>
<div id="main">
<div id="title">
<h2>Weather Forecast</h2>
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
也可以在 codepen 上找到工作演示:http ://codepen.io/manzur/pen/RomyjK?editors=1100
这个问题没有任何疑问或问题。显然,我似乎在 chrome 控制台上偶然发现了一个错误,
我使用这个代码:
console.log("Before: ", this.selectedScorecard.scorecard_attributes);
let attribute = this.selectedScorecard.scorecard_attributes.find(item => item.id === null || item.id === undefined)
if(attribute) {
let length = this.selectedScorecard.scorecard_attributes.length;
this.selectedScorecard.scorecard_attributes.splice(length-1, 1);
console.log("After: ", this.selectedScorecard.scorecard_attributes);
}
Run Code Online (Sandbox Code Playgroud)
好的,所以属性是一个数组,它最初是一个长度为 2 的数组。现在我从数组中拼接一个项目并在拼接前后打印它的值。
在数组之前的片段中的 chrome 控制台中,它显示 (2) 表示长度为 2,但在数组本身中,它显示长度为 1,并且在“数组的控制台之前”中也只有一项,而事情显然是预期在“After console”中我附上了一张图片以便更好地理解

我很好奇,有人对此有任何想法吗?有没有人遇到过这个问题,还是只有我一个人注意到了?
javascript web-inspector google-chrome-devtools ecmascript-6
angular ×5
javascript ×5
apollo ×2
graphql ×2
angularjs ×1
aws-lambda ×1
css ×1
dom-events ×1
ecmascript-6 ×1
graphql-js ×1
html ×1
json ×1
object ×1
rxjs ×1
rxjs5 ×1
serverless ×1