小编Ale*_*lla的帖子

可能未处理的承诺拒绝。无法读取未定义的属性

我是功能性 Javascript 和承诺的新手。下面的代码很好用,直到我取消注释 this.writeDataToRealm(data.data)。然后我收到这个错误:

可能未处理的承诺拒绝。无法读取未定义的属性“writeDataToRealm”

如何将数据发送到函数进行进一步处理?

...
 fetch(url, {
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    Authorization: "Bearer " + token
  },
  }).then(function(response) {
    if (response.status !== 200) {
      throw Error(response.statusText);
    } else {
        return response.json().then(function(data) {
          console.log(data);
          return data.data;
        })
      }
    }).then(data => {
      this.writeDataToRealm(data.data)
    }, err => {
      console.log('Fetch Error: ', err);
    });

   }

   writeDataToRealm(data) {
    console.log(data[0]);
    realm.write(() => {
      realm.create('Student', {id: data[0].kp_ID, bb_first_name: data[0].kp_ID});
    });
  }
Run Code Online (Sandbox Code Playgroud)

javascript promise

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

将数组作为字符串JavaScript返回

我希望在我的函数中返回一个数组作为字符串.
例:

return [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Run Code Online (Sandbox Code Playgroud)

应该返回"[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]"一个字符串.我不想使用,.join()因为它删除了[]括号.

javascript arrays

0
推荐指数
1
解决办法
67
查看次数

IconButton onClick 事件启动 onLoad 反应

我在IconButton每一行旁边都显示了下面的内容,因此对于每一行我可以执行不同的 API 调用。这些按钮的警报在加载时显示?!我该如何解决?

<IconButton onClick={alert("abc")}>
  <Edit color="action" />
</IconButton>
<IconButton onClick={alert("abc")}>
  <Update color="action" />
</IconButton>
<IconButton onClick={alert("abc")}>
  <Delete color="action" />
</IconButton>
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

0
推荐指数
1
解决办法
746
查看次数

如何在我的JavaScript中管理PHP echo?

我无法在Ajax中获得PHP回声。

这是我的test01.html代码:

在我的HTML代码中,引用了jQuery,并将事件绑定到“ sub01”按钮中,我使用Ajax提供POST请求:

$(".sub01").bind("click", function() {
  $.ajax({
    type: "POST",
    url: "cms/test01.php?action=test01",
    dataType: "json",
    data: {
      "var_01": "var_01_value",
      "var_02": "var_02_value",
    },
    success: function(response) {
      console.log(response) // there I want to console the response from PHP.
    }
  })
})
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <form>
    <input type="text" value="var_01">
    <input type="text" value="var_02">
    <input id="sub01" type="submit" value="click me!">
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的PHP test01.php代码:

在我的PHP代码中,我想回显$_POST,然后我希望AJAX代码获得响应。

<?php
echo $_POST;
Run Code Online (Sandbox Code Playgroud)

我想要代码

success: function(response) {
  console.log(response) // there I want to console the response from …
Run Code Online (Sandbox Code Playgroud)

php

0
推荐指数
1
解决办法
70
查看次数

循环运行一个函数,直到

我目前正在尝试循环运行一个函数。
无法弄清楚,这是我尝试过的:

do {
  queryLastCursor(lastCursor).then(lastCursorResults => {
    if (lastCursorResults.hasNext = false) {
      hasNextPage = false;
    }
    console.log(hasNextPage);
  })
} while (hasNextPage);
Run Code Online (Sandbox Code Playgroud)

queryLastCursor是一种调用 API 的方法。当它返回数据时,它的值将是hasNext如果它返回 false 那么我想设置hasNextPagefalse. 预期的行为是它一次又一次地运行该函数,直到我们得到结果hasNext = false。知道我做错了什么吗?

javascript

0
推荐指数
1
解决办法
52
查看次数

JS 在 `display: none` 和 `display: flex` 之间切换

我有一个 JS 函数,用于响应式导航,带有汉堡按钮,可以在屏幕太小时隐藏和显示导航。

我的问题是,即使 CSS 样式显示:none,导航的链接也会在加载时显示,之后按钮将按预期工作并让我在display: none和 之间切换display: flex。是什么导致它display: none在加载时忽略?

function myBurger() {
  var x = document.getElementById("navLinks");
  if (x.style.display === "none") {
    x.style.display = "flex";
  } else {
    x.style.display = "none";
  }
}
Run Code Online (Sandbox Code Playgroud)
.navigation1 {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 3rem 3rem;
  .logo img {
    height: 5rem;
  }
  i {
    display: none;
  }
  .navLinks {
    display: flex;
    a {
      padding-left: 2rem;
      align-self: center; //vertical align
      color: $secondaryColor;
    } …
Run Code Online (Sandbox Code Playgroud)

html javascript css

0
推荐指数
1
解决办法
3032
查看次数

对于这种情况,我对箭头函数中的“this”关键字感到困惑

我有两种情况,我对得到的输出感到困惑。

情况1 :

let x = {
  b: 5,
  y: function a() {
    return function() {
      return () => {
        console.log(this);
      }
    }
  }
}
x.y()()();
Run Code Online (Sandbox Code Playgroud)

在运行时,x.y()()()我将Window对象作为输出,但根据箭头函数的定义,输出应该是其父函数。

案例2:

let x = {
  b: 5,
  y: function a() {
    return () => {
      console.log(this);
    }
  }
}
x.y()();
Run Code Online (Sandbox Code Playgroud)

如果我删除一层嵌套,这是一个基本示例,然后在运行时x.y()(),我将获取对象x作为输出。

你能解释一下为什么我会得到这些输出吗?

javascript closures ecmascript-6 arrow-functions

0
推荐指数
1
解决办法
186
查看次数

Javascript 理解承诺

我一直在使用 NodeJS 异步,但我试图了解 JavaScript 中的基本承诺,但我遇到了问题。

我创建了下面的代码进行测试。

function first() {
  // Simulate a code delay
  return new Promise(function(resolve) {
    setTimeout(function() {
      console.log(1);
    }, 500);
  });
}

function second() {
  console.log(2);
}

first().then(second());
Run Code Online (Sandbox Code Playgroud)

它应该首先打印“1”,但它首先在控制台中打印“2”。为什么会发生?

谢谢

javascript

0
推荐指数
1
解决办法
58
查看次数

我正在努力从这个数组中删除两个 6

我正在尝试解决一个需要我从数组中删除数字 6 的问题。
我知道如何使用删除过去的6 pop(),但我试图splice()indexOf(),以除去指数2和6,但没有运气。这是来自单链表挑战。

预期输出应为 [1,2,3,4,5]。我的输出目前是 [1,2,6,3,4,5]。

var removeElements = function(head, val) {
  let array = [1, 2, 6, 3, 4, 5, 6];
  this.val = (this.val === 6 ? this.val : array.pop(this.val));
  this.head = (head === this.val ? head : this.next);
  console.log(array);
};
Run Code Online (Sandbox Code Playgroud)

javascript singly-linked-list

0
推荐指数
1
解决办法
43
查看次数

javascript if(-1){... statement ...}的计算结果为true

我有一个条件,其中0或更多是有效的,负面是无效的.当我在JavaScript/TypeScript中相应地编写代码时,令我惊讶的是它没有像我预期的那样工作.

代码如下.

if (-1) {
  console.log("truthy")
} else {
  console.log("falsy")
}
Run Code Online (Sandbox Code Playgroud)

这将在控制台中打印以下内容.

truthy

它应该是falsy,对吧?

任何帮助,帮助我理解这种行为.我错过了什么?

谢谢

javascript typescript

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