Uncaught (in promise)

如果promise中 reject的错误没有被catch出来就会报这个错误

// Uncaught (in promise)

let a = new Promise((resove,reject)=>{

reject(1)

}

// ok

let a = new Promise((resove,reject)=>{

reject(1)

}.then((res)=>{},(err)=>{})

// Uncaught (in promise)

let b = new Promise((resove,reject)=>{

throw new Error(1)

})

// error

a = new Promise((resove,reject)=>{

throw new Error(1)

}).catch((res)=>{})

// ok

let b = new Promise((resove,reject)=>{

new Error(1)

})

// ok

a = new Promise((resove,reject)=>{

throw new Error(1)

}).catch((res)=>{})

原文地址:https://www.cnblogs.com/eret9616/p/11546470.html

时间: 2024-10-19 13:46:56

Uncaught (in promise)的相关文章

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.

最近在开发一个网站时,有个需要是 如果有新预警信息要在网页中播放提示音.页面打开会请求是否有新信息,有则播放提示音.在Chrome的最新浏览器中,播放会报错,控制台显示Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.搜索发现Chrome 66为了避免标签产生随机噪音禁止没有交互前使用js进行播放.最后解决方案为 在chrome地址栏

Vue ElementUI Axios报错: Uncaught (in promise) TypeError: Cannot read property '$message' of undefined

从头再来!!! 出错的代码如下: login() { this.loading = true let userInfo = {account: this.loginForm.account, password: this.loginForm.password, captcha: this.loginForm.chptcha} this.$api.login.login(userInfo).then( function(res) { if (res.msg != null) { this.$mes

Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().

解决方法: audio.load() let playPromise = audio.play() if (playPromise !== undefined) { playPromise.then(() => { audio.play() }).catch(()=> { }) } 原因: 从Chrome50开始,对<video>或<audio>元素的play()调用返回一个Promise. 一个异步返回单个结果的函数.如果回放成功,Promise就会实现,而play事

vue-router点击菜单栏同一个模块报错 ———— Uncaught(in promise) NavigationDuplicated error .......

在做移动端底部导航时,鼠标双击各个选项会报如下错误,但是单击时不会出现任何问题. 出现这个bug的原因就是vue-router版本问题,vue-router 3.0版本以上的回调形式是promise api的形式,返回的是一个promise,如果没有捕获到错误,控制台始终会出现上图的警告: 解决方法之可以是安装低版本的vue-router或者捕获抛出放入错误: 解决方法大概包括以下3种解决方法: 1)删除node_modules文件夹,然后使用“cnpm install”重新安装依赖(ps:尝试

关于 Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause() 错误

最近在做项目的时候发现一个如题的控制台报错. 一看右侧的报错文件是undefined 这下苦恼了,定位不到问题所在. 今天解决了这个问题,就来分享一下. 问题的关键所在是在执行了play()方法以后立即执行pause()方法.反之亦然 以下贴出代码 HTML: <button id="btn1">test</button> JS: var music=new Audio();music.src="/1.mp3";//这里替换成一个有效的音频文

vue router 报错: Uncaught (in promise) NavigationDuplicated {_name:&quot;&quot;NavigationDuplicated&quot;... 的解决方法

今天在写vue-music的时候,发现每次跳转路由都会出现这个错误,于是上网查了一下解决的方法 在main.js中添加 import Router from 'vue-router' const originalPush = Router.prototype.push Router.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } 原文地址

Chrome浏览器视频自动播放报Uncaught(in promise)DOMException

先看代码 用jquery 实现视频的自动播放 $(function () { var vList = ['video/zykj.mp4']; // 初始化播放列表 var vLen = vList.length; // 播放列表的长度 var curr = 0; // 当前播放的视频 var video = document.getElementById("myvideo"); video.addEventListener('ended', play1);//监听 play1(); f

Promise对象

promise是异步编程的一种解决方案,promise对象代表一个异步操作. promise对象有三种状态:pending(进行中),resolved(已完成)和rejected(已失败),只有异步操作的结果可以决定当前是哪一种状态,任何其他操作都无法改变这个状态. Promise对象是一个构造函数,用来生成Promise实例. var promise = new Promise(function(resolve, reject) { // ... some code if (/* 异步操作成功

Callback Promise Generator Async-Await 和异常处理的演进

根据笔者的项目经验,本文讲解了从函数回调,到 es7 规范的异常处理方式.异常处理的优雅性随着规范的进步越来越高,不要害怕使用 try catch,不能回避异常处理. 我们需要一个健全的架构捕获所有同步.异步的异常.业务方不处理异常时,中断函数执行并启用默认处理,业务方也可以随时捕获异常自己处理. 优雅的异常处理方式就像冒泡事件,任何元素可以自由拦截,也可以放任不管交给顶层处理. 文字讲解仅是背景知识介绍,不包含对代码块的完整解读,不要忽略代码块的阅读. 1. 回调 如果在回调函数中直接处理了异