小编AL-*_*ami的帖子

在promise链上使用setTimeout

在这里,我试图围绕promises.Here在第一次请求我获取一组链接.并在下一个请求我获取第一个链接的内容.但我想在返回下一个promise对象之前做一个延迟.所以我使用它上面有setTimeout.但是它给了我以下JSON错误(without setTimeout() it works just fine)

SyntaxError:JSON.parse:JSON数据的第1行第1列的意外字符

我想知道为什么会失败?

let globalObj={};
function getLinks(url){
    return new Promise(function(resolve,reject){

       let http = new XMLHttpRequest();
       http.onreadystatechange = function(){
            if(http.readyState == 4){
              if(http.status == 200){
                resolve(http.response);
              }else{
                reject(new Error());
              }
            }           
       }
       http.open("GET",url,true);
       http.send();
    });
}

getLinks('links.txt').then(function(links){
    let all_links = (JSON.parse(links));
    globalObj=all_links;

    return getLinks(globalObj["one"]+".txt");

}).then(function(topic){


    writeToBody(topic);
    setTimeout(function(){
         return getLinks(globalObj["two"]+".txt"); // without setTimeout it works fine 
         },1000);
});
Run Code Online (Sandbox Code Playgroud)

javascript json promise

97
推荐指数
5
解决办法
10万
查看次数

什么是Javascript中的多态?

我已经阅读了一些我可以在互联网上找到的关于多态性的文章.但我认为我无法理解它的含义及其重要性.大多数文章没有说明为什么它很重要以及如何在OOP中实现多态行为(当然在JavaScript中).

我无法提供任何代码示例,因为我还没有想到如何实现它,所以我的问题如下:

  1. 它是什么?
  2. 为什么我们需要它?
  3. 这个怎么运作?
  4. 如何在javascript中实现这种多态行为?

我有这个例子.但是很容易理解这段代码会产生什么结果.它没有给出关于多态性本身的任何清晰的想法.

function Person(age, weight) {
    this.age = age;
    this.weight = weight;
    this.getInfo = function() {
        return "I am " + this.age + " years old " +
        "and weighs " + this.weight +" kilo.";
    }
}
function Employee(age, weight, salary) {
    this.salary = salary;
    this.age = age;
    this.weight = weight;
    this.getInfo = function() {
        return "I am " + this.age + " years old " +
        "and weighs " + this.weight +" …
Run Code Online (Sandbox Code Playgroud)

javascript oop polymorphism functional-programming parametric-polymorphism

83
推荐指数
5
解决办法
8万
查看次数

理解javascript承诺对象

我试图在javascript中包围promise对象.所以我在这里有一小段代码.我有一个promise对象和两个console.log()在promise对象的两边.我以为它会打印

你好

那里

zami

但它打印出来了

HI

zami

there
Run Code Online (Sandbox Code Playgroud)

为什么它就像那样.我对如何工作没有任何理解,但我理解异步回调在javascript中是如何工作的.任何人都可以对这个主题有所了解吗?

console.log('hi');
var myPromise = new Promise(function (resolve, reject) {
    if (true) {
        resolve('There!');
    } else {
        reject('Aww, didn\'t work.');
    }
});

myPromise.then(function (result) {
    // Resolve callback.
    console.log(result); 
}, function (result) {
    // Reject callback.
    console.error(result);
});
console.log('zami');
Run Code Online (Sandbox Code Playgroud)

javascript promise

18
推荐指数
4
解决办法
5773
查看次数

在javascript数组中查找NaN的索引

[1, 2, 3].indexOf(3) => 2

[1, 2, NaN].indexOf(NaN) => -1

[1, NaN, 3].indexOf(NaN) => -1
Run Code Online (Sandbox Code Playgroud)

javascript arrays indexing nan

13
推荐指数
2
解决办法
3491
查看次数

JavaScript中的layerX和offsetX之间的区别

JavaScript有不同的坐标系统,例如e.clientX,e.screenX.

我理解这两个很好,但有一些像e.layerX和e.offsetX.这两个对我来说不是很清楚.

有人可以为我解释这两个坐标吗?

javascript coordinate-systems

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

c中的嵌套结构

我必须构建一个嵌套结构来存储一些人的某些基本信息(姓名,年龄,地址).所以我创建了一个名为"info"的结构,并保存地址,我在"info"中创建了另一个嵌套结构,名为"address".但每当我提示使用for循环存储值时,我都会收到错误.这里有什么问题,我该如何解决?

[错误]'struct Info'没有名为'address'的成员
[Warning]声明没有声明任何内容[默认启用]

#include <stdio.h>

int main(){

    struct Info{
        char name[30];
        int age;
        struct address{
            char area_name[39];
            int house_no;
            char district[39];
        };
    };

    struct Info Person[10];

    int i;
    for(i=0;i<10;i++){

        printf("enter info of person no %d\n",i);
        printf("enter name\n");
        scanf("%s",&Person[i].name);
        printf("enter age\n");
        scanf("%d",&Person[i].age);
        printf("enter address :\n");
        printf("enter area name :\n");
        scanf("%s",&Person[i].address.area_name);
        printf("enter house no : \n");
        scanf("%d",&Person[i].address.house_no);
        printf("enter district : \n");
        scanf("%s",&Person[i].address.district);
    }
}
Run Code Online (Sandbox Code Playgroud)

c structure declaration

9
推荐指数
2
解决办法
6207
查看次数

由于负前瞻的位置,匹配的差异?

我在正则表达式中有很多困惑,我正试图解决它们.这里我有以下字符串:

{start}do or die{end}extended string
Run Code Online (Sandbox Code Playgroud)

我的两个不同的正则表达式,我只改变了点的位置:

(.(?!{end}))* //returns: {start}do or di
                                      //^ See here
((?!{end}).)* //returns: {start}do or die
                                      //^ See here
Run Code Online (Sandbox Code Playgroud)

为什么第一个正则表达式吃最后一个"e"?

而且这种负面前瞻如何使这个*量词非贪婪?我的意思是为什么它不能消耗超过{end}的字符?

javascript php regex string lookahead

7
推荐指数
1
解决办法
91
查看次数

如何防止JavaScript中的事件冒泡

感谢您的阅读...我会直接解决这个问题。

我有一个onclick函数附加到图像。

<div id="mercury" onclick="displayCreations()">
Run Code Online (Sandbox Code Playgroud)

JavaScript函数:

function displayCreations(){
   document.getElementById("projects").style.display = "block";
}
Run Code Online (Sandbox Code Playgroud)

到达页面后,我作为块显示的div设置为none。此功能将显示设置为“阻止”,这可以正常工作

我在为div内的图像设置onclick函数(将显示值重新设置为none)时遇到麻烦。这似乎不适用于我当前的代码...

HTML:

<div id="mercury" onclick="displayCreations()">
        <img id="exit" onclick="hideCreations()" src="./assets/images/exit.png" alt="exit button" title="Leave Planet: Mercury" />
        <div id="projects">
            <h3>No creator here, but it looks like you've found some his wonderous creations...</h3>
            <ol>
                <li>Project 1</li>
                <li>Project 2</li>
                <li>Project 3</li>
            </ol>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

Javascript:

function displayCreations(){
   document.getElementById("projects").style.display = "block";
}

function hideCreations(){
   document.getElementById("projects").style.display = "none";
} …
Run Code Online (Sandbox Code Playgroud)

html javascript css event-bubbling stoppropagation

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

使用中间表从另一个表获取信息

这里我有三张桌子authorsbooks_has_authors并且books

Books_has_author是一个中间表,仅包含其他两个表的主键。我正在尝试编写一个 sql 查询,它将返回特定作者写的所有书籍名称。我对关系数据库概念以及为关系数据库编写查询很陌生。我知道一些join查询,但我真的很困惑如何使用它们通过中间表获取信息。任何帮助将不胜感激 !:)

在此输入图像描述

php mysql sql-server

3
推荐指数
1
解决办法
2178
查看次数

什么是javascript中的"OWN"属性

这里我有一个使用getter和setter来定义和获取属性值的代码.我使用对象构造函数创建了一个对象.我在for ... in循环中传递了对象.还在对象上使用了getOwnPropertyNames()方法.结果如下

可以在for循环中访问"fullName"属性

"fullName"在getOwnPropertyNames()方法中不可见.这意味着它是

不是自己的财产

这里我有两个基本问题.什么是自己的财产?如果"fullName"不是自己的属性,那么它是什么类型的属性?

function Name(first, last) {
    this.first = first;
    this.last = last;
}

Name.prototype = {
    get fullName() {
        return this.first + " " + this.last;
    },

    set fullName(name) {
        var names = name.split(" ");
        this.first = names[0];
        this.last = names[1];
    }
};
var obj=new Name('al','zami');
for(var i in obj){
   console.log(i); // fullName is here
}
console.log(Object.getOwnPropertyNames(obj)); // fullName is not here
Run Code Online (Sandbox Code Playgroud)

javascript oop properties

3
推荐指数
1
解决办法
1486
查看次数