小编kvi*_*bar的帖子

Promise和AJAX有什么区别?

promises和AJAX调用都是异步操作.可以使用两者进行GET/POST请求.<< 编辑:那是一个错误的陈述

那么它们之间的区别是什么?何时最好使用一个而不是另一个?

还有一件事:

最近我遇到了一个承诺,它的身体有一个AJAX.为什么在异步操作中放置异步操作?这就像把面包放在面包三明治里.

function threadsGet() {
return new Promise((resolve, reject) => {
  $.getJSON('api/threads')
    .done(resolve)
    .fail(reject);
    })
}
Run Code Online (Sandbox Code Playgroud)

这里使用jQuery.AJAX调用具有Promise行为和属性.我没有早点得到,但这是我的想法:我们可以在承诺中做点什么.然后使用AJAX调用并在done函数中传递已解析的Promise逻辑.特别是在这个例子中没有.

现在我看到我混淆了两个.它们有两个不同的东西.仅仅因为它们是异步的,并不意味着它们是可以互换的.

==============

编辑2:我发现有些材料很有用:

承诺反模式

ajax asynchronous promise

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

在 vueJs 的方法内部使用计算属性

我正在尝试在 vue.js 中创建一个随机播放函数。因此,为此我创建了一个计算属性,然后调用一个方法。但它不起作用。我创建了另外两个函数“添加”和“删除”,除了“随机播放”之外,这两个函数工作正常。

抛出错误:Uncaught TypeError: this.moveIndex is not a function

var app = new Vue({
  el: '#root',
  data: {
    tasks: [1,8,9],
    nextNum: 10
  },
  computed: {
    moveIndex: function(array){
      var currentIndex = array.length, randomIndex, tempVal;
      for(var i = currentIndex - 1; i > 0; i--){
        randomIndex = Math.floor(Math.random() * currentIndex);
        tempVal = array[i];
        array[i] = array[randomIndex];
        array[randomIndex] = tempVal;
      }
      return array;
    }
  },
  methods: {
    randIndex: function(){
      return Math.floor(Math.random() * this.tasks.length);
    },
    add: function(){
      this.tasks.splice(this.randIndex(),0,this.nextNum++)
    },
    remove: function(){
      this.tasks.splice(this.randIndex(),1) …
Run Code Online (Sandbox Code Playgroud)

vue.js computed-properties

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